iOS 遠程推送應(yīng)用配置過程

//聯(lián)系人:石虎? QQ: 1224614774 昵稱:嗡嘛呢叭咪哄

遠程推送應(yīng)用配置過程

1. 創(chuàng)建支持遠程推送功能的App ID

2. 申請開發(fā)者證書,并選中剛剛創(chuàng)建的App ID

3. 下載CER文件,并導(dǎo)入鑰匙串管理

4. 申請發(fā)布證書,并選中剛剛創(chuàng)建的App ID

5. 下載CER文件,并導(dǎo)入鑰匙串管理

6. 檢查App ID,確認(rèn)證書已經(jīng)指定

遠程推送應(yīng)用程序開發(fā)過程

1. 新建應(yīng)用程序

2. 指定AppID,在developer.apple.com上設(shè)置的AppID

#ifdef __IPHONE_8_0

// 注冊接收通知的類型

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];

[application registerUserNotificationSettings:settings];

// 注冊允許接收遠程推送通知

[application registerForRemoteNotifications];

#else

// 如果是iOS7.0,使用以下方法注冊

[application registerForRemoteNotificationTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];

#endif

// 當(dāng)?shù)玫教O果的APNs服務(wù)器返回的DeviceToken就會被調(diào)用

// 7040f7d5 5a974598 c5cf31b5 3e340b39 68affd25 122f0ce1 3f315226 396c2e5b

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

NSLog(@"deviceToken是:%@", deviceToken);

}

// 接收到遠程通知,觸發(fā)方法和本地通知一致

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

NSLog(@"%@", userInfo);

}

*** 使用后臺的遠程消息推送

1> 在Capabilities中打開遠程推送通知

2> 實現(xiàn)代理方法

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

遠程消息數(shù)據(jù)格式:

{"aps" : {"content-available" : 1},"content-id" : 42}

執(zhí)行completionHandler有兩個目的

1> 系統(tǒng)會估量App消耗的電量,并根據(jù)傳遞的UIBackgroundFetchResult 參數(shù)記錄新數(shù)據(jù)是否可用

2> 調(diào)用完成的處理代碼時,應(yīng)用的界面縮略圖會自動更新

注意:接收到遠程通知到執(zhí)行完網(wǎng)絡(luò)請求之間的時間不能超過30秒

if (userInfo) {

int contentId = [userInfo[@"content-id"] intValue];

ViewController *vc = (ViewController *)application.keyWindow.rootViewController;

[vc loadDataWithContentID:contentId completion:^(NSArray *dataList) {

vc.dataList = dataList;

NSLog(@"刷新數(shù)據(jù)結(jié)束");

completionHandler(UIBackgroundFetchResultNewData);

}];

} else {

completionHandler(UIBackgroundFetchResultNoData);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 極光推送: 1.JPush當(dāng)前版本是1.8.2,其SDK的開發(fā)除了正常的功能完善和擴展外也緊隨蘋果官方的步伐,SD...
    Isspace閱讀 6,887評論 10 16
  • 推送通知 注意:這里說的推送通知跟NSNotification有所區(qū)別 NSNotification是抽象的,不可...
    iOS開發(fā)攻城獅閱讀 4,423評論 1 13
  • 推送通知注意:這里說的推送通知跟NSNotification有所區(qū)別NSNotification是抽象的,不可見的...
    醉葉惜秋閱讀 1,623評論 0 3
  • 許多集成的步驟個推官網(wǎng)都有了,這里只寫關(guān)于推送的遠程推送和本地通知的步驟和代碼。APP在后臺時:走蘋果的APNS通...
    AllureJM閱讀 2,974評論 1 9
  • 遠程推送應(yīng)用配置過程 1. 創(chuàng)建支持遠程推送功能的App ID 2. 創(chuàng)建調(diào)試證書,并選中剛剛創(chuàng)建的App ID ...
    Louis_hey閱讀 302評論 0 0

友情鏈接更多精彩內(nèi)容