谷歌推送通知在生产中不起作用

Posted

技术标签:

【中文标题】谷歌推送通知在生产中不起作用【英文标题】:Google push notification not working in production 【发布时间】:2016-01-15 07:25:16 【问题描述】:

我在 ios 谷歌推送通知上收到此错误

操作无法完成。 (com.google.gcm 错误 501。)

我在开发环境和生产环境中获取注册id。

发展环境讯息:

"multicast_id":8145067860904395870,"success":1,"failure":0,"canonical_ids":0,"results":
["message_id":"0:1452842547360715%bc92eed1bc92eed1"]

我成功收到了消息。

但在生产环境中我会收到此消息。

"multicast_id":8861850059359760561,"success":0,"failure":1,"canonical_ids":0,"results":
["error":"NotRegistered"]

没有收到任何通知。

我已经尝试了从吊销证书和创建新证书和新配置文件到清理构建文件夹的所有方法,但通知仍然无法在生产中工作。

【问题讨论】:

比较你的开发和生产证书。 他们不一样,试了很多次。 Google Cloud Messaging shows "notRegistered" when using iOS distributed app的可能重复 【参考方案1】:

对我来说,解决方案是我必须转到 AppDelegate.swift 文件并在开发中搜索 kGGLInstanceIDAPNSServerTypeSandboxOption,它应该是 true,而对于生产它应该是 false。只需将其更改为 false 以进行生产,通知对我有用。

【讨论】:

【参考方案2】:

您可以在生产环境中这样做。:

GGLInstanceID.sharedInstance().startWithConfig(instanceIDConfig)
    registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken,
                           kGGLInstanceIDAPNSServerTypeSandboxOption:false]
    GGLInstanceID.sharedInstance().tokenWithAuthorizedEntity(gcmSenderID,
                                                             scope: kGGLInstanceIDScopeGCM, options: registrationOptions, handler: registrationHandler)

【讨论】:

以上是关于谷歌推送通知在生产中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用某些令牌发送后,Apple 推送通知在生产中不起作用

iOS推送通知不起作用

使用 cordova-plugin-fcm 插件推送通知在 iOS 生产中不起作用

Tailwind 自定义背景图像在生产中不起作用

SMTP 配置在生产中不起作用

Django中的线程在生产中不起作用