(一)iOS push的原理是:
第一階段:服務(wù)端把要發(fā)送的消息、目的iPhone的標(biāo)識(shí)打包,發(fā)給APNS。
第二階段:APNS在自身的已注冊(cè)Push服務(wù)的iPhone列表中,查找有相應(yīng)標(biāo)識(shí)的iPhone,并把消息發(fā)到iPhone。
第三階段:iPhone把發(fā)來(lái)的消息傳遞給相應(yīng)的應(yīng)用程序, 并且按照設(shè)定彈出Push通知。
(二)iOS 客戶端實(shí)現(xiàn)的邏輯:
// 獲取本機(jī)的token,用于提交給服務(wù)器
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSString *token = [NSString stringWithFormat:@"%@", deviceToken];
//獲取終端設(shè)備標(biāo)識(shí),這個(gè)標(biāo)識(shí)需要通過(guò)接口發(fā)送到服務(wù)器端,服務(wù)器端推送消息到APNS時(shí)需要知道終端的標(biāo)識(shí),APNS通過(guò)注冊(cè)的終端標(biāo)識(shí)找到終端設(shè)備。
[SYSTEM_CONFIG setPushToken:token];
NSLog(@"My token is:%@", token);;
?[[PushTokenManager sharedManager] sendPushToken:token];
}