2.APNS返回deviceToken(進(jìn)入代理方法)
1)成功獲取deviceToken,系統(tǒng)回調(diào)
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
2)獲取deviceToken失敗,系統(tǒng)回調(diào)
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
3.iPhone將deviceToken上傳至服務(wù)器(POST)
例:
deviceToken: <c389e769 d6ddb7d5 a783a015 ff553d90 5b1e04e2 6fa71ec7 f0aa52ab 4bdcc660>
1.處理字符串,消除空格 和 <>
2.得到64位字符串,post至服務(wù)器
4.服務(wù)器將推送的消息+deviceToken+(SSL &
PRivace key(兩個(gè)生成一個(gè)文件))
發(fā)送到APNS
5.(驗(yàn)證通過后)APNS將消息發(fā)送到iPhone
6.用戶點(diǎn)擊推送通知,系統(tǒng)回調(diào)(在此方法里將角標(biāo)置零)
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
參數(shù):
userInfo:包含推送的內(nèi)容+推送的聲音+角標(biāo)簽
1)設(shè)置角標(biāo)
@property(nonatomic) NSInteger applicationIconBadgeNumber;
推送需要證書:該證書是2份 一份給客戶端 一份給服務(wù)器(客戶端的服務(wù)器)
服務(wù)器和客戶端推送證書必須一致