互聯網信息化咨詢/技術開發/整合營銷
請通過以下方式免費咨詢
提交
從圖中可以很清楚的看出來推送的原理主要分為以下幾步:
1.由App向iOS設備發送一個注冊通知,用戶需要同意系統發送推送。
2.iOS向APNs遠程推送服務器發送App的Bundle Id和設備的UDID。
3.APNs根據設備的UDID和App的Bundle Id生成deviceToken再發回給App。
4.App再將deviceToken發送給遠程推送服務器(自己的服務器), 由服務器保存在數據庫中。
5.當自己的服務器想發送推送時, 在遠程推送服務器中輸入要發送的消息并選擇發給哪些用戶的deviceToken,由遠程推送服務器發送給APNs。
6.APNs根據deviceToken發送給對應的用戶。
· APNs 服務器就是蘋果專門做遠程推送的服務器。
·deviceToken是由APNs生成的一個專門找到你某個手機上的App的一個標識碼。
· deviceToken 可能會變,如果你更改了你項目的bundle Identifier或者APNs服務器更新了可能會變。
再說一下簡單實現,首先要去配置好證書,有調試和發布證書以及配置文件,這里不再細說。
1.必須先進行注冊,得到用戶授權
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 1.獲取推送通知的權限
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge categories:nil];
[application registerUserNotificationSettings:settings];
// 2.注冊遠程推送
[application registerForRemoteNotifications];
return YES;}
2.注冊成功,接收從蘋果服務器返回的唯一的設備token
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSMutableString * devices_token = [NSMutableString stringWithFormat:@"%@",deviceToken];}
3.收到通知
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
NSLog(@"%@", userInfo);}
4.注冊推送失敗原因
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
NSLog(@"Registfail,注冊推送失敗原因%@",error);}
以上就是七星迪曼&易龍天對iOS 消息推送原理的一些簡單總結,如果您這邊有需要請電話聯絡13718601078或010-85868064,我們會及時安排專業的客服為您服務。