为iOS设置GCM

时间:2016-02-01 10:54:17

标签: ios google-cloud-messaging

我有一个使用Phonegap Build创建的移动应用程序,可以在Android和iOS上运行。我使用ASP.NET通过调用Google Cloud Messaging来设置通知。我的问题与这些技术无关。我试图阅读所有GCM文档,但它似乎不是为新手编写的,我没有使用CocoaPods或他们提到的其他客户端技术。

我已将GCM设置为向我的应用的Android版本发送通知,没有任何问题;当我在我的Android平板电脑上直接安装开发.apk文件时,它工作正常,当我运行从Google Play安装的生产版本时,完全相同的HTTP / JSON调用。

像往常一样,iOS是一个完全不同的痛苦世界。我相信我已经使用Apple网站正确创建了APNS证书。我已将生成的.p12文件上传到Google。我可以看到我的应用程序发送到我的网站的令牌,就像我可以使用Android设备一样。我将此令牌插入到与Google通信的服务器端代码中,但我得到:

  

HTTP返回码为200   { “multicast_id”:6487xxxxxxx91167, “成功”:0, “失败”:1, “canonical_ids”:0 “结果”:[{ “错误”: “InvalidRegistration”}]}

GCM文档仅表明我的令牌有误。我没有看到我从我的应用程序(当它第一次加载时)传递给我的服务器时的值,并且一切看起来都很好。

思想1。令牌可能会被截断? Android令牌已经长达162个字符,但是从我的iPad发送的字符长度为64个字符。

思想2。我想知道我是否使用了正确的网址;是https://gcm-http.googleapis.com/gcm/send就像Android设备一样吗?开发/生产需要不同的价值吗?

思想3。 Google如何知道是否使用我的APNS证书的生产版本开发?毕竟,我上传了两个.p12文件,但我的ASP.NET代码只传递了我的40个字符GCM API密钥和设备令牌。

思想4。也许我弄乱了Apple证书流程。这会导致InvalidRegistration错误吗?

0 个答案:

没有答案