iOS 应用程序能否同时使用基于证书和基于令牌的 APNs 连接?
Can an iOS app use both certificate-based and token-based APNs connections at the same time?
我们目前正在为现有应用程序准备更新,该应用程序通过使用基于令牌的 APNs 连接的 Firebase 提供推送通知。
由于后端发生变化,我们希望过渡到基于证书的 OneSignal。
由于应用程序将作为更新发布,我们希望在过渡期间通过 Firebase 维持推送,而更新版本应该能够通过 OneSignal 接收推送。
我的问题是:一个App-ID可以同时使用吗?还是会互相干扰?
Apple's docs 提及
To send notifications, your provider server must establish either token-based or certificate-based trust with APNs using HTTP/2 and TLS.
但不要说同时实施两者。
既然你提到了 "receive pushes via OneSignal" 我假设你在谈论 iOS 应用程序,但我相信这更多是后端问题。因为在 iOS 你所要做的就是
- 通过项目设置注册推送通知
- 请求权限(Info.plist)
- 在 appDelegate
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
和 func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error)
中处理
- 为您的项目正确设置开发人员门户(证书、权限等)
所有到达设备的推送通知都来自 APNs,因此您的应用既不关心 Firebase
也不关心 OneSignal
。
我相信您的应用程序将在其中包含 OneSignal SDK,而不是更新后的 Firebase。
所以我认为您需要在过渡期间通过服务器上的 Firebase 和 OneSignal 处理推送通知的发送。您的服务器需要同时与这两项服务进行通信。 APNs 将为您处理其余的交付。
您始终可以在生产前使用沙盒服务器进行试用。
您实际上可以同时使用它们。
您还可以生成 2 个证书并同时使用它们。
您也可以在多个地方使用单个 certificate/token。
对此没有任何限制 - certificate/token 仅用于识别您是谁,您的 App ID。
我们目前正在为现有应用程序准备更新,该应用程序通过使用基于令牌的 APNs 连接的 Firebase 提供推送通知。
由于后端发生变化,我们希望过渡到基于证书的 OneSignal。
由于应用程序将作为更新发布,我们希望在过渡期间通过 Firebase 维持推送,而更新版本应该能够通过 OneSignal 接收推送。
我的问题是:一个App-ID可以同时使用吗?还是会互相干扰?
Apple's docs 提及
To send notifications, your provider server must establish either token-based or certificate-based trust with APNs using HTTP/2 and TLS.
但不要说同时实施两者。
既然你提到了 "receive pushes via OneSignal" 我假设你在谈论 iOS 应用程序,但我相信这更多是后端问题。因为在 iOS 你所要做的就是
- 通过项目设置注册推送通知
- 请求权限(Info.plist)
- 在 appDelegate
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
和func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error)
中处理
- 为您的项目正确设置开发人员门户(证书、权限等)
所有到达设备的推送通知都来自 APNs,因此您的应用既不关心 Firebase
也不关心 OneSignal
。
我相信您的应用程序将在其中包含 OneSignal SDK,而不是更新后的 Firebase。
所以我认为您需要在过渡期间通过服务器上的 Firebase 和 OneSignal 处理推送通知的发送。您的服务器需要同时与这两项服务进行通信。 APNs 将为您处理其余的交付。
您始终可以在生产前使用沙盒服务器进行试用。
您实际上可以同时使用它们。
您还可以生成 2 个证书并同时使用它们。
您也可以在多个地方使用单个 certificate/token。
对此没有任何限制 - certificate/token 仅用于识别您是谁,您的 App ID。