iOS APNS远程推送步骤详析
来源:互联网 发布:mac 照片应用 密码 编辑:程序博客网 时间:2024/06/10 08:29
1.App启动过程中,使用UIApplication::registerForRemoteNotificationTypes函数与苹果的APNS服务器通信,发出注册远程推送的申请。若注册成功,回调函数application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 会被触发,App可以得到deviceToken,该token就是一个与设备相关的字符串.
deviceToken
(1).在一台设备中, device token 是系统级别的,不同 App 获得的 device token 是相同的。
假如我的手机安装了 Angry Bird 和 Evernote ,这两个应用获得 device token 一模一样。
(2).device token 并不会因为单个 app 的更新而发生改变。
假如我的 iPhone 升级了最新版的愤怒的小鸟,这并不会导致我 device token 的改变。
(3).假如我的 iPhone 从 backup 中恢复数据,device token 不会发生变化。
(4).用户抹除 iPhone 的数据时,意味着要与这台手机撇清关系,比如出售或者送人。此时为了保护隐私,device token 会改变。
我们是调用registerForRemoteNotificationTypes方法向APNS发起注册,具体是怎么注册的,deviceToken变了没有,不是我们管的。
2.App获取到DeviceToken后,将DeviceToken发送给自己的服务端
3.服务端拿到DeviceToken以后,使用证书文件(可能需要密码),向苹果的APNS服务器发起一个SSL连接。连接成功之后,发送一段JSON串,该JSON串包含推送消息的类型及内容。
SSL 协议指定了一种在应用程序协议(如 HTTP 、 Telenet 、 NMTP 和 FTP 等)和 TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
4.苹果的APNS服务器得到JSON串以后,向App发送通知消息,使得App的回调函数application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo被调用,App从userInfo中即可得到推送消息的内容。
阅读全文
0 0
- iOS APNS远程推送步骤详析
- iOS APNS远程推送(史上最全步骤)
- iOS APNS远程推送(史上最全步骤)
- iOS APNS远程推送(史上最全步骤)
- iOS APNS远程推送
- ios-远程推送服务APNs
- iOS APNS远程推送(最详细解析)
- iOS远程推送通知服务APNs
- ios 本地推送和远程推送(APNS)
- IOS本地,APNS远程推送(具体过程)
- IOS本地,APNS远程推送(具体过程)
- IOS本地,APNS远程推送(具体过程)
- 教你搞定IOS远程消息推送APNS
- IOS本地,APNS远程推送(具体过程)
- iOS之App远程推送APNs(二)
- 151224iOS远程推送(APNS)测试工具SmartPush for Mac
- IOS本地,APNS远程推送(具体过程)
- iOS远程推送(APNS)测试工具SmartPush for Mac
- 最长回文串
- c语言中的time函数用法
- neo4j写数据遭遇OOM
- JAVA基础知识(J2SE)
- K-mean原理及实践(K值确定)
- iOS APNS远程推送步骤详析
- 我的第一篇
- ConcurrentHashMap原理简介
- Valgrind总结(2) —— 命令行参数详解
- 查看网卡信息linux命令
- Android studio 快捷键
- bug:background-image: url(../imgs/icon-swipe-dp/maoyandianying.png); 莫名其妙出不来
- python os模块的使用
- JavaScript面向对象