你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios集成極光推送的一些坑點及步驟

ios集成極光推送的一些坑點及步驟

編輯:IOS開發綜合

一、設置badge(角標)

[[UIApplicationsharedApplication]setApplicationIconBadgeNumber:0];

[JPUSHServicesetBadge:0];//清空JPush服務器中存儲的badge值

JPush為每個客戶端保管其特定的badge值。客戶端有變卦時,把badge值更新到JPush服務器。有新的推送時,把這個值+1推送上去。

(1)+(BOOL)setBadge:(int)value ; //設置JPush服務器中存儲的值

注:設置badge值,本地仍須調用UIApplication:setApplicationIconBadgeNumber函數



二、推送目的的設備選擇方式

(1)播送

(2)tag(標簽):用標簽來停止大規模的設備屬性、用戶屬性的分群。

為裝置使用順序的用戶打上標簽,以便於開發者依據標簽來批量下發push音訊。

(3)alias(別名):用別名來標識一個用戶,一個設備只能綁定一一般名,但多個設備可以綁定同一一般名。

同一個使用順序內,對不同的用戶建議取不同的別名,盡能夠依據別名來獨一確定用戶。

(4)RegistrationID(設備標識)

集成了Jpush SDK的使用順序在第一次成功注冊到JPush服務器時,JPush服務器會給客戶端返 回一個獨一的該設備標識。IOS9零碎,使用卸載重裝,RegistationID會發作改動。

[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(registerDeviceId)name:kJP.networkDidLoginNotificationobject:nil];//登錄成功後

-(void)registerDeviceId

{

[JPUSHServiceregistrationID];

NSLog(@"registrationID:%@",[JPUSHServiceregistrationID]);

//在登錄成功對應的辦法中設置標簽及別名

留意:在加入登陸時,要去除對標簽及別名的綁定

/**tags alias

*空字符串(@“”)表示取消之前的設置

*nil,此次調用不設置此值

*每次調用設置無效的別名,掩蓋之前的設置

*/

NSString*alias =@"hello";

[JPUSHServicesetTags:nilalias:aliasfetchCompletionHandle:^(intiResCode,NSSet*iTags,NSString*iAlias) {

NSLog(@"rescode: %d, \ntags: %@, \nalias: %@\n", iResCode, iTags , iAlias);//對應的形態碼前往為0,代表成功

}];

}


三、本地告訴(獲取apns推送內容)

//1.關於極光推送來說,假如App形態為未運轉,函數application:didFinishLaunchingWithOptions:將被調用

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

{

//本地告訴內容獲取

NSDictionary*remoteNotification = [launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

NSLog(@"若launchOptions包括UIApplicationLaunchOptionsRemoteNotificationKey表示用戶點擊本地告訴招致app被啟動運轉;若不包括則能夠為直接點擊icon被啟動或其他");

}



//2.假如App形態為正在前台或許點擊告訴欄的告訴音訊,蘋果的回調函數將被調用

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler {

//獲得APNs規范信息內容

NSDictionary*aps = [userInfovalueForKey:@"aps"];

NSString*content = [apsvalueForKey:@"alert"];//推送顯示的內容

NSIntegerbadge = [[apsvalueForKey:@"badge"]integerValue];//badge數量

NSString*sound = [apsvalueForKey:@"sound"];//播放的聲響

//獲得Extras字段內容

NSString*customizeField1 = [userInfovalueForKey:@"customizeExtras"];//服務端中Extras字段,key是自己定義的

NSLog(@"content =[%@], badge=[%ld], sound=[%@], customize field =[%@]",content,(long)badge,sound,customizeField1);

//判別順序能否在前台運轉

if(application.applicationState==UIApplicationStateActive) {

//假如使用在前台,在這裡執行

UIAlertView*alertView = [[UIAlertViewalloc]initWithTitle:@"極光推送"message:contentdelegate:nilcancelButtonTitle:@"ok"otherButtonTitles:nil,nil];

[alertViewshow];

}

//IOS7 Support Required,處置收到的APNS信息

//假如使用在後台,在這裡執行

[JPUSHServicehandleRemoteNotification:userInfo];

completionHandler(UIBackgroundFetchResultNewData);


[JPUSHServicesetBadge:0];//清空JPush服務器中存儲的badge值

[applicationsetApplicationIconBadgeNumber:0];//小紅點清0操作

}


四、獲取自定義音訊推送內容

/**前台運轉時,可接納由JPush下發的自定義音訊

*獲取自定義音訊(只要在前端運轉的時分才干收到自定義音訊的推送)

* kJP.networkDidReceiveMessageNotification//收到音訊(非APNS)

*/

NSNotificationCenter*defaultCenter = [NSNotificationCenterdefaultCenter];

[defaultCenteraddObserver:selfselector:@selector.networkDidReceiveMessage:)name:kJPFNetworkDidReceiveMessageNotificationobject:nil];

- (void)networkDidReceiveMessage:(NSNotification*)notification {

/**

*參數描繪:

content:獲取推送的內容

extras:獲取用戶自定義參數

customizeField1:依據自定義key獲取自定義的value

*/

NSDictionary* userInfo = [notificationuserInfo];

NSString*content = [userInfovalueForKey:@"content"];

NSDictionary*extras = [userInfovalueForKey:@"extras"];

NSString*customizeField1 = [extrasvalueForKey:@"customizeField1"];///服務端傳遞的Extras附加字段,key是自己定義的

NSIntegerbadge = [[[userInfovalueForKey:@"aps"]valueForKey:@"badge"]integerValue];

NSLog(@"%jiaobao--ld",(long)badge);

NSLog(@"custuserInfo:%@",userInfo);

NSLog(@"custcontent:%@",content);

NSLog(@"custextras:%@",extras);

NSLog(@"customizeField1:%@",customizeField1);

NSLog(@"cust獲取注冊ID:%@", [JPUSHServiceregistrationID]);

}


【ios集成極光推送的一些坑點及步驟】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved