iOS边城之推送APNS详解

官方指南


 

1、介绍

苹果推送服务APNS(Apple Push Notification Service),是苹果自己维护的推送服务,如果你想用推送就必须经过APNS服务器。推送形式包括顶部消息条、声音以及badge number()有了APNS,应用程序可在任意状态接收到与程序有关的消息(包括运行状态not running,foreground以及background),由于在大多数情况下,iOS中最多只有一个应用能处于active状态,所以,APNS为应用的交互提供了极大的便利。

需要注意的几点

1、APNS是免费的。只要有开发者账号便可以申请APNS证书。

2、APNS又是不可靠的,苹果对信息推送的可靠性不做任何保证。

3、APNS对消息的大小是有限制的,总容量不能超过256字节


2、架构模式

在系统级别有一个推送服务程序使用 5223 端口。使用这个端口的协议源于 Jabber 后来发展为 XMPP ,被用于 Gtalk 等 IM 软件中。


所以, iOS 的推送,可以不严谨的理解为:

苹果服务器朝手机后台挂的一个 IM 服务程序发送的消息。

然后,系统根据该 IM 消息识别告诉哪个 Apps 具体发生了什么事。

然后,系统分别通知这些 Apps 。

 

现在市面上的IM应用,大部分采用离线推送,就是应用处于background时走APNS,应用foreground时使用自家的通讯服务。


3、工作流程


1& 2:用户第一次安装应用并第一次启动时,会弹出对话框提示应用需要开通推送,是否允许,如果允许,应用会得到一个硬件token

有三点需要注意:

第一,token唯一与设备相关,同一设备上不同应用获取的token是一样的。一般应用第一次打开时,会token发到应用服务器进行保存

第二,当应用被卸载,然后重新安装时,确认对话框不会再出现,自动继承前一次安装的设置信息;

第三,推送设置可以在设置-通知中进行更改。可以选择开启消息框、声音以及badge number中的一种或多种。

3:开发者此时应该将收到的token发送到应用服务端并保存数据库中(也就是APNS消息的源头)

4

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值