集成 APNs 远程推送
融云服务端已集成 APNs 服务端功能。当 App 被杀进程、在后台被系统挂起或者在后台存活超过 2 分钟,IMLib SDK 长连接通道会断开,此时融云服务端可将消息通过 APNs 通道通知客户端。
融云服务端对 APNs 的支持
融云服务端支持与 Apple APNs 服务端的以下验证方式:
| 类别 | 区别 | 必要凭证 |
|---|---|---|
| 使用验证令牌(P8) | APNs 侧对基于令牌的推送请求处理更快。同一帐户下的应用程序可以使用同一个 P8 证书,不区分沙盒与生产环境。P8 证书永久有效。 | 您需要从 Apple 开发人员账户中获取签名密钥(.p8 后缀的文本文件),并提供给融云。融云将使用您的密钥对 APNs 推送请求中的 Token 进行签名。 |
| 使用 TSL 证书(P12) | 必须与 Apple App ID 绑定,仅可用于该 App。APNs 证书可以只支持沙盒环境(P12 证书),同时支持生产环境和沙盒环境(P12 通用证书)。有效期一年。 | 您可以从 Apple 开发人员账户获取该证书,并提供给融云。融云将使用该证书与 APNs 进行身份验证。证书在一年后过期,请务必在过期前创建新证书,然后将其提供给融云。 |
以上内容摘自 Apple 官方开发者文档。如有疑问,详见 Apple 开发者帐户帮助:使用验证令牌与 APNs 通信 与 使用 TLS 证书与 APN 通信。
以使用 TSL 证书为例,融云离线消息触发 APNs 推送的流程如下:

Apple 开发者账户的操作
您必须持有 App ID 才能使用 APNs 推送服务。以下描述了如何从 Apple 开发者账户页面创建 App ID,以及为 App ID 启用 Push Notifications(推送通知功能)。
创建 App ID
如已持有 App ID,请跳过此步骤,直接查看启用 App ID 的推送功能。
以下步骤描述如何从 Apple 开发者账户创建 App ID:
-
在 Certificates, Identifiers & Profiles(证书、标识符和描述文件)中,点按边栏中的 Identifiers (标识符),然后点按左上方的添加按钮 (+)。

-
从选项列表中选择 App IDs(App ID),点按 Continue(继续)。
-
从选项中,确认已自动选择了 App ID 类型,然后点按 Continue(继续)。
-
在 Description(描述)栏位中输入 App ID 的名称或描述。请选择 Explicit App ID (精确 App ID),并在 Bundle ID 栏位中输入 App 的 Bundle ID。
您在这里输入的精确 App ID 应该与 Xcode 中目标的 Summary (摘要)面板中输入的 Bundle ID 一致。

-
Capabilities (功能)下面会显示您的 App 类型和可以使用的功能。选中相应的复选框,以启用您想要使用的 App 功能。
请勾选 Push Notifications 以启用推送通知功能。

-
点按 Continue(继续),检查注册信息,然后点按 Register(注册)。
关于上述创建 App ID 步骤的详细说明,可参考 Apple 开发者帐户帮助文档:注册 App ID。
启用 App ID 的推送功能
以下内容来自 Apple 开发者账户帮助文档: 启用推送通知。
以下步骤描述如何从 Apple 开发者账户为已有的 App ID 启用推送通知功能。如已启用,可跳过该步骤。
-
在 Certificates, Identifiers & Profiles(证书、标识符和描述文件)中,点按边栏中的 Identifiers (标识符),然后找到对应的 App ID 进行配置。
-
在 Capabilities 中勾选 Push Notifications。

启用 App ID 的推送功能后,请根据需要选择创建 P8 证书或者 P12 证书。