APNs(苹果推送通知服务)设置指南
APNs 是 Apple 的推送通知服务,它使第三方应用程序开发人员能够向安装在 Apple 设备上的应用程序发送通知数据。
此文主要介绍如何让 Apple 设备上的应用程序支持 APNs 以及如何在开发者中心设置相关 的配置。
启用推送功能
应用要启用推送功能,分为两步:
- 开发项目开启推送的权限。
- 在苹果开发者网站为对应的 App ID 启用推送功能。
开启开发项目的推送权限
要在应用程序中添加所需的权限,请在 Xcode 项目中启用推送通知功能。
打开 Xcode 项目,在 Project > Target > Capabilities 页面中点击红框中的加号按钮,然后选择并添加 Push Notifications
,添加后的结果如图中黄框所示:
启用苹果 App ID 的推送功能
登录苹果开发者网站,进入 Certificates, Identifiers & Profiles 页面,点击侧边栏中的 Identifiers,然后在列表中找到项目对应的 App ID(即 Xcode 项目中的 Bundle Identifier),点击并进入配置编辑页面,然后选择 Push Notifications
旁边的复选框,最后点击右上的 Save(保存)按钮,结果如下图所示:
选择推送方式
苹果提供了两种方式来发送通知,这两种方式各有优点和缺点,云服务对这两种方式都支持,可以根据需要选择其中一种推送方式。
- 基于 Token 的推送方式(推荐)。
- 理论上它比基于证书的方式更快。
- 支持多个云服务应用使用同一个 Key。
- 支持用同一个 Key 给苹果开发者账号下的多个应用推送通知。
- 支持用同一个 Key 给苹果开发者账号下的测试、正式应用推送通知。
- 生成的 Key 不再有过期时间,无需像证书方式那样需要定期重新生成证书。
- 基于证书的推送方式。
- 证书和苹果的 App ID 绑定,一个证书只能向其绑定的苹果应用推送通知。
- APNs 有开发、生产两个环境,可能需要为不同环境下的苹果应用配置对应的证书。
- 证书有过期时间,需要定期重新生成并配置。
总的来说,基于 Token 的推送方式在配置步骤、易用性以及功能性上,都要优于基于证书的推送方式,因此我们推荐使用基于 Token 的推送方式。
注意,这两种方式在云服务平台上是互斥的,且基于 Token 的方式优先级高于基于证书的方式,即如果设置了 Token 方式的配置,则该云服务应用下的所有推送都会使用基于 Token 的方式。