zoukankan      html  css  js  c++  java
  • PUSH 和 远程推送

    1. UIApplacation向 APNS 注册 push notification 服务

    (1) 应用程序要支持推送服务, 在网页里面配置  http://developer.apple.com/devceter/ios/index.action

    (2) 登陆苹果开发者账号 (注意是收费账号 $99 或者 $ 299)

    (3) 下载push证书 (主要是给程序签名 push服务只有收费开发者才具备, 所以需要签名验证), 如果没有push证书 (APP ID -> 钥匙串程序生成reqest -> push证书)

        注意事项: APP ID 的Bundle ID 必须和plist文件中的Bundle identifier一致, APP ID 一旦生成将不可修改

    (4) 把证书安装到钥匙串里  (双击证书文件)

    (5) 生成 编译程序 用的描述文件 (网页里面进行)

     向APNS 注册push服务 (UIApplication 的 registerForRemoteNotificationTypes:  方法)

    2. 获取APNS 分配的DeviceToken (64位16进制串)

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

    3. 把DeviceToken 发送给自己的后台服务器, 服务器记录每台设备的DeviceToken 以便日后推送消息给客户端, (需要一个网络接口, 让客户端发送DeviceToken)

    4. 服务器推送消息给客户端

    (1) 服务器除了需要有客户端的DeviceToken之外, 还要有push证书, 对push 的内容进行签名(苹果为了防止恶意向客户端(比如DeviceToken泄露了)发送消息, 每次推送消息, 都需要证书进行签名, 从而避免黑客恶意攻击用户手机)

    (2) 如果你的服务器是Java 写的, 可以直接使用钥匙串导出的 P12 文件 (证书和密匙一起导出 )  如果你的服务器是PHP写的, 因为PHP语言不支持P12文件类型, 需要转换为pem文件.

    (3) 将P12转换为pem文件: 终端 先找到你P12所在的目录 openssl pkcs12 -in CertificateName.p12 - outCertificateName.pem - nodes

    (4) 服务器发送信息给APNS , APNS自动将信息推送到客户端.

    5. 客户端处理收到的信息

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

    注意事项:

    1.

     
  • 相关阅读:
    CTF SQL注入知识点
    Rot13加密算法
    LFU缓存
    Redability
    快排
    更新卡片的zIndex
    webshell文件下载器
    [转]背包九讲
    hihocoder第196周
    Python import容易犯的一个错误
  • 原文地址:https://www.cnblogs.com/Cheetah-yang/p/4692978.html
Copyright © 2011-2022 走看看