iOS消息推送是怎么現實的?

  • 1.iOS消息推送的工作機制可以簡單的用下圖來概括:
    • (1)Provider是指某個iPhone軟件的Push服務器
    • (2)APNS是Apple Push Notification Service的縮寫,是蘋果的服務器
image0.png

上圖可以分為三個階段:

  • (1)應用程序把要發送的消息、目的iPhone的標識打包,發給APNS。

  • (2)APNS在自身的已注冊Push服務的iPhone列表中,查找有相應標識的iPhone,并把消息發送到iPhone。

  • (3)iPhone把發來的消息傳遞給相應的應用程序,并且按照設定彈出Push通知。


iamge1.png

從上圖我們可以看到:

  • (1)應用程序注冊消息推送

  • (2)iOS從APNS Server獲取device token,應用程序接收device token

  • (3)應用程序將device token發送給PUSH服務端程序

  • (4)服務端程序向APNS服務發送消息

  • (5)APNS服務將消息發送給iPhone應用程序


  • 2.本地推送通知

<pre>
UILocalNotification *notification = [[UILocalNotification alloc] init];
NSDate *dateNow = [NSDate date];
notification.fireDate = [dateNow addTimeInterval:1.0];
notification.timeZone = [NSTimeZone defaultTimeZone];
...
// 啟用推送通知
[[ UIApplication sharedApplication] scheduleLocalNotification:notification];
</pre>


  • 3.遠程推送通知

<pre>
@implementation AppDelegate

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 注冊遠程推送通知
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
    return YES;
    }

  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    // 處理推送通知
    NSLog(@"%@", userInfo);
    }
    </pre>


如有不當、錯誤之處,歡迎指正!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容