IOS PUSH

      第一阶段:.net应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。

  第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。

  第三阶段:iPhone把发来的消息传递给相应的应用程序, 并且按照设定弹出Push通知。

 

 

iOS开发如何实现消息推送机制

 


  从上图我们可以看到。

 

  1、首先是应用程序注册消息推送。

  2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。

  3、应用程序将deviceToken发送给PUSH服务端程序。

  4、 服务端程序向APNS服务发送消息。

  5、APNS服务将消息发送给iPhone应用程序。

 

 

///////证书操作部分省略

在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来的通知。

3、在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);
}

你可能感兴趣的:(push)