Skip to main content

iOS 推送通知

先决条件

本教程假设你熟悉我们推送通知快速入门中介绍的概念。

配置 Apple 通知通道

  1. 确保你拥有有效的 iOS 开发 (APNS_SANDBOX) 或生产 (APNS) 证书。如果没有,请从 Apple Developer PortalCertificates, Identities and Profiles 下创建一个。
  1. 导出你选择的证书(开发或生产):
    • 首先从 Apple Developer PortalCertificates, Identities and Profiles 下下载你的证书副本。这将创建一个 .cer 文件。
    • 打开并将证书安装到你的 Keychain Access 中。
    • Certificates 子类别下查看已安装的证书。
    • 将你的 Keychain Access Certificate 导出为 .p12 格式。
    • 使用以下控制台命令将 .p12 文件转换为 .pem 文件
      • openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
    • 有了 .pem 文件后,你可以通过 PlayFab Game Manager 在你的 Title 设置 > Push Notifications 下直接上传。
    • 或者,使用下面的生成器为 SetupPushNotification 制作 JSON 请求。

SetupPushNotification 的 JSON 请求生成器

请求生成器使用以下信息来创建 JSON 请求:
  • Platform - 使用以下值之一:APNS (iOS)、APNS_SANDBOX (iOS)、GCM (Android)
  • Application Name - 输入发送消息的应用程序名称。
应用程序名称必须只由大写和小写 ASCII 字母、数字、下划线、连字符和句点组成,长度必须在 1 到 256 个字符之间。它们必须是唯一的。
  • PEM Certificate / API Key - 对于 iOS(APNS 或 APNS_SANDBOX),使用你的 PEM 文件的完整内容。
生成 JSON 后,使用它执行对 SetupPushNotification 的调用。响应应类似于下面的示例。
恭喜!你现在已经配置了 title 的 iOS 消息通道。

注册你的 iOS 客户端以进行推送

对于 iOS,你必须依赖 iOS 处理推送通知的默认行为,因为 PlayFab 目前不提供 Unity 上的原生实现。 默认情况下,游戏在后台时收到的通知将被路由到通知区域。 或者,游戏为活动应用程序时收到的通知将被静默接收,并且不会在通知区域中显示。
  • 示例中的以下代码在 client Start() 上运行。
  • 如果没有错误发生,恭喜!你的 iOS 客户端已成功链接到你 title 的 Apple 通知通道。

iOS 故障排除

  • 验证你拥有有效的 .pem 文件
  • 确保在 SetupPushNotification 中使用的相同证书被 XCode 用于签署你的 App。
  • 验证 XCode 中你的构建已启用 Push Notification API。
  • 验证你的签名证书与 PlayFab 平台匹配。运行 SetupPushNotification 时,使用 OverwriteOldARN = true 将通道重新绑定到新平台。给定时间内 title 上只能有一个 iOS 环境(APNS 或 APNS_SANDBOX)处于活动状态。

其他支持

如需帮助、示例 bug 和相关问题,请在我们的论坛上留言。
目前,我们仅支持本文档中描述的标准流程的服务。如果你的团队正在寻找其他常见推送服务或插件的其他功能,请告诉我们!我们喜欢从开发者社区获得反馈。
最后修改于 2026年8月31日