zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    非循环单链表节点的操作
    链表每一个节点的数据类型该如何表示
    链表的定义、确定一个链表需要几个参数?
    typedef的用法
    连续存储数组的算法(包含数组倒置、冒泡排序……)
    跨函数使用内存案例
    malloc()动态分配内存概述
    结构体
    指针和数组
    C#基础知识之dnSpy反编译
  • 原文地址:https://www.cnblogs.com/rollrock/p/3738779.html
Copyright © 2011-2022 走看看