你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> 關於iOS的推送服務的點點

關於iOS的推送服務的點點

編輯:IOS技巧綜合
[摘要]本文是對關於iOS的推送服務的點點的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

蘋果推送通知服務(Apple Push Notification Service) 簡稱APNS. 是iOS應用中十分常見的一種交互方式.

APNS依托一個或幾個系統常駐進程運作, 接管所有應用的消息推送, 所以可看作是獨立於應用之外, 而且是設備和蘋果服務器之間的通訊, 而非應用的提供商服務器.

這和 Android不同, Android更像是傳統桌面電腦系統的做法. 每個需要後台推送的應用有各自的單獨後台進程, 才能和各自的服務器通訊, 交換數據.

另外其實 Android 也有類似 APNS 的 GCM(Google Cloud Message),屬於開發者可選,非強制.

所以你大概看出來區別,iOS 的消息推送機制面世之時是一種全新的解決方案(堪稱平台中的平台),應用本身不能有常駐的後台進程,系統的開銷少,內存使用更少,電量也

更少(把更多的運算和資源開銷放在雲端,非設備端)。而 Android 的特點,雖然開銷大,優點是更穩定快速,但不明顯。

APNS的工作原理:

1. App向設備請求是否允許使用通知服務

2. 設備會攜帶App名向蘋果的推送通知服務器發送允許接受通知服務的請求

3. 蘋果推送通知服務器將deviceToken和App名發送給設備

4. App將deviceToken等信息發送至我們自己的存儲通知內容的服務器

5. 我們自己的存儲通知內容的服務器將deviceToken和通知內容發送給蘋果推送通知服務器

6. 蘋果推送通知服務器最後將通知內容按照deviceToken下發到設備

APNS的使用:

1. 在https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action中注冊App的id

2. 在https://developer.apple.com/account/ios/certificate/certificateList.action?type=development中注冊APNS推送證書下載並安裝

3. 一般的APNS都是在AppDelegate中進行.

1). 首先要注冊通知服務, 由於iOS8.0之後的推送通知注冊方法改變, 所以要進行設備的系統版本判斷

// 注冊通知服務

if ([UIDevice currentDevice].systemVersion.floatValue < 8.0){

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |

UIRemoteNotificationTypeSound |

UIRemoteNotificationTypeAlert)];

} else {

UIUserNotificationSettings* settings = [UIUserNotificationSettings settingsForTypes:(

UIRemoteNotificationTypeBadge |

UIRemoteNotificationTypeSound |

UIRemoteNotificationTypeAlert) categories:nil];

[application registerUserNotificationSettings:settings];

[ application registerForRemoteNotifications];

}

4. 注冊成功調用的方法

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

5. 注冊失敗調用的方法

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error

6. 接送推送消息的觸發方法

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

另: 推送中經常出現在icon上的角標 [UIApplication sharedApplication].applicationIconBadgeNumber

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved