ios - 如何为 iOS 应用程序使用现有的 GCM 发件人 ID

标签 ios objective-c google-cloud-messaging apple-push-notifications

我有现有项目向 Android 应用程序发送推送通知。 现在我们需要使用 GCM 服务向 APNS 发送推送通知。

那么是否可以使用与现有项目相同的 senderId 和 API key 进行 APNS 推送?

我如何配置 Google Developers 以了解我也想对 iOS 使用相同的 key ?

我想避免在后端进行任何更改。

我已经阅读了之前关于同一主题的所有讨论,但我的问题仍未解决。

最佳答案

配置时GCM for iOS ,您将需要选择一个项目和一个 Bundle ID - 您选择的项目将确定发件人 ID,因此如果您为 Android 和 iOS 选择相同的项目,发件人 ID 将保持不变。

不同的 API key 并不重要,因为它们都指向相同的发件人 ID。

发件人 ID 向 GCM 客户端标识您的服务器,而 API key 使用 GCM 服务对您的服务器进行身份验证 - 并允许 GCM 服务计算出发件人 ID。

我刚刚对我的一个项目进行了测试,该项目具有从 GCM for iOS Configuration file page 生成的 API key 和较旧的服务器 API key 。

旧服务器 key :

Server key 1 Nov 4, 2015 Server

新生成的服务器 key :

Server key (auto created by Google Service) Mar 1, 2016 Server

我能够从两个 key 成功地将测试 GCM 消息发送到现有 GCM 客户端。因此,您向 GCM 发件人提供有效的服务器 key 似乎很重要,不一定是 Google 生成的特定服务器 key 。

希望对您有所帮助。

关于ios - 如何为 iOS 应用程序使用现有的 GCM 发件人 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38374545/

相关文章:

ios - 如何生成用于 iOS 的 GCM 的有效 APNS 证书 (.p12)?

ios - 自定义 tableviewcell 上的 UISlider 和 UILabels 在第二次播放音频之前不会使用 avaudioplayer 更新

ios - 在 for 循环中加载 NibNamed 时崩溃

ios - 将正数转换为负数 - iOS

cordova - 在AppBrowser中更改cordova的url

ios - Swift iOS 无法识别 GCM 库导入?

ios - 当用户单击 UI 按钮时创建阴影(或模糊)?

iphone - 是否有针对 goto 的性能原因?

iphone - iOS访问云存储中存储的文件

ios - Xcode 8.3 中奇怪的 Clang 行为