【问题标题】:GCM iOS Production not receiving notificationsGCM iOS Production 未收到通知
【发布时间】:2016-01-13 14:22:43
【问题描述】:

所以,我对 GCM 有疑问。我已将 .p12 开发和生产 APNS 证书上传到 Google 控制台(我已检查,它们是相同的名称,捆绑标识符)。我已经建立了我的开发和生产配置文件。我的生产资料中有aps-environment,我可以正常上传到iTunes Connect。我正在使用:

    _registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
                    kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};

用于生产。它设置为 NO。对于我的开发,它设置为 YES。我已经检查过了,我正在获取设备令牌,并将其发送到我的服务器。

推送通知在生产环境中不起作用。他们只在开发环境中工作。你知道是什么原因吗?

【问题讨论】:

  • 您是否在另一台设备上尝试了生产版本,而不是您的开发设备。
  • 我有同样的问题,这让我很沮丧!我在文档中做了所有事情,它在开发环境中就像一个魅力。但是一旦我转移到生产环境中,我就会不断收到 ...."error": "NotRegistered"...!并且除了“_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken, kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};”之外没有其他解决方案或解释
  • @YusufKARTAL 你认为这可能是问题吗?我记得使用城市飞艇如果你想让生产环境在你用来测试的同一设备上工作,你需要从开发列表中删除你的设备ID ...?有没有办法测试?删除以取消注册可能吗?
  • @Soufiane.ess 是的,我们遇到了同样的情况,并注意到具有开发配置文件的设备没有收到生产推送消息,也许通过 testflight 发送可以解决问题。我们通过在另一个没有配置文件的测试设备上进行测试解决了这个问题
  • @YusufKARTAL 嗯,或者我们只能从设备中删除开发配置文件?

标签: ios google-cloud-messaging apple-push-notifications


【解决方案1】:

设置"priority": "high"

{
      "to": "gcm_device_token",
      "priority": "high",
      "content_available": false,
      "notification": {
        "sound": "default",
        "badge": "1",
        "title": "Push Title",
        "body": "Push Body"
      }
    }

这是用于生产环境的代码:

_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
                         kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};

这是用于开发环境的代码:

_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
                         kGGLInstanceIDAPNSServerTypeSandboxOption:@YES};

【讨论】:

  • 非常有帮助!谢谢@Ahmed
  • @PhilipSopher 非常感谢
猜你喜欢
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多