一、iOS推送通知簡介
眾所周知蘋果的推送通知從iOS3開始出現(xiàn), 每一年都會更新一些新的用法. 譬如iOS7出現(xiàn)的Silent remote notifications(遠(yuǎn)程靜默推送), iOS8出現(xiàn)的Category(分類, 也可稱之為快捷回復(fù)), iOS9出現(xiàn)的Text Input action(文本框快捷回復(fù)).
而在iOS10, 蘋果可謂是大刀闊斧般的, 對遠(yuǎn)程通知和本地通知進(jìn)行了大范圍的更新. iOS10推出了全新的UserNotifications框架(iOS10之前從屬于UIKit框架).
新的推送通知框架, 整合了本地推送和遠(yuǎn)程推送的點擊處理方法, 使得以前專門處理推送點擊的方法只能處理靜默推送了.
二、遠(yuǎn)程推送通知介紹
1、什么是遠(yuǎn)程推送
在聯(lián)網(wǎng)的情況下,由遠(yuǎn)程服務(wù)器推送給客戶端的通知,又稱APNs(Apple Push Notification Services)不管應(yīng)用是打開還是關(guān)閉的情況下,都能接收到服務(wù)器推送的遠(yuǎn)程通知在聯(lián)網(wǎng)狀態(tài)下,所有蘋果設(shè)備都會與蘋果服務(wù)器建立長連接
2、遠(yuǎn)程推送的實現(xiàn)原理:
1.打開App時: 發(fā)送UDID和BundleID給APNs加密后返回deviceToken
2.獲取Token后,App調(diào)用接口,將用戶身份信息和deviceToken發(fā)給服務(wù)器,服務(wù)器記錄
3.當(dāng)推送消息時, 服務(wù)器按照用戶身份信息找到存儲的deviceToken,將消息和deviToken發(fā)送給APNs
4.蘋果的APNs通過deviceToken, 找到指定設(shè)備的指定程序, 并將消息推送給用戶
3、實現(xiàn)遠(yuǎn)程推送功能的前提
1.真機(jī)
2.調(diào)試階段的證書
iOS_development.cer 用于真機(jī)調(diào)試的證書
aps_development.cer 用于真機(jī)推送調(diào)試能的證書
xxx.mobileprovision 描述文件,記錄了能夠調(diào)試的手機(jī)、電腦和程序
3.發(fā)布階段的證書
iOS_distribution.cer 用于發(fā)布app的證書
aps.cer 用于發(fā)布時,讓app有推送功能的證書
xxx.mobileprovision 描述文件,記錄了能夠發(fā)布app的電腦
如何配置證書, 不在本教程內(nèi), 請讀者自行處理, 或者參考視頻教程
三、iOS10 全新遠(yuǎn)程通知教程
一、 注冊遠(yuǎn)程推送并獲取DeviceToken
1.創(chuàng)建iOS的項目,并輸入項目名字
2.在AppDelegate中導(dǎo)入頭文件:
#import <UserNotifications/UserNotifications.h>
3.在application:didFinishLaunchingWithOptions方法中, 注冊遠(yuǎn)程通知
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //請求通知權(quán)限, 本地和遠(yuǎn)程共用 UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; [center requestAuthorizationWithOptions:UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert completionHandler:^(BOOL granted, NSError * _Nullable error) { if (granted) { NSLog(@"請求成功"); } else { NSLog(@"請求失敗"); } }]; //注冊遠(yuǎn)程通知 [[UIApplication sharedApplication] registerForRemoteNotifications]; //設(shè)置通知的代理 center.delegate = self; return YES; }
新聞熱點
疑難解答
圖片精選