IOS PUSH

      第一階段:.net應用程序把要發送的消息、目的iPhone的標識打包,發給APNS。html

  第二階段:APNS在自身的已註冊Push服務的iPhone列表中,查找有相應標識的iPhone,並把消息發到iPhone。xcode

  第三階段:iPhone把發來的消息傳遞給相應的應用程序, 而且按照設定彈出Push通知。app

 

 

iOS開發如何實現消息推送機制

 


  從上圖咱們能夠看到。url

 

  一、首先是應用程序註冊消息推送。spa

  二、 IOS跟APNS Server要deviceToken。應用程序接受deviceToken。.net

  三、應用程序將deviceToken發送給PUSH服務端程序。code

  四、 服務端程序向APNS服務發送消息。htm

  五、APNS服務將消息發送給iPhone應用程序。blog

 

 

///////證書操做部分省略教程

在PushChatAppDelegate中的didFinishLaunchingWithOptions方法中加入下面代碼:

 
 
-  (BOOL)application:(UIApplication  * )application didFinishLaunchingWithOptions:(NSDictionary  * )launchOptions
{
self.window.rootViewController
  =  self.viewController;
[self.window makeKeyAndVisible];

//  Let the device know we want to receive push notifications
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge
  |  UIRemoteNotificationTypeSound  | UIRemoteNotificationTypeAlert)];

return  YES;
}

經過registerForRemoteNotificationTypes方法,告訴應用程序,能接受push來的通知。

三、在xcode中運行,會彈出下面的提示框:

IOS開發系列之阿堂教程:蘋果的push技術的實踐

選擇OK。表示此應用程序開啓消息通知服務。

在 PushChatAppDelegate.m代碼中添加下面方法獲取deviceToken :

 
 
-  ( void )application:(UIApplication * )application didRegisterForRemoteNotificationsWithDeviceToken:(NSData * )deviceToken
{
NSLog(
@" My token is: %@ " , deviceToken);
}

-  ( void )application:(UIApplication * )application didFailToRegisterForRemoteNotificationsWithError:(NSError * )error
{
NSLog(
@" Failed to get token, error: %@ " , error);}
相關文章
相關標籤/搜索