推送到 iOS 时,使用 Cordova 和 Phonegap Push Plugin 在应用服务器上获取 invalidRegistration
Posted
技术标签:
【中文标题】推送到 iOS 时,使用 Cordova 和 Phonegap Push Plugin 在应用服务器上获取 invalidRegistration【英文标题】:Using Cordova and Phonegap Push Plugin get invalidRegistration on app server when push to iOS 【发布时间】:2015-12-18 00:01:22 【问题描述】:我使用 Google Cloud Messaging 网站上的 this 指令为 APNS 设置证书。我处于开发阶段,仅在 Apple Developer Console 中设置开发证书。 然后我设置phonegap-plugin-push 并像这样在 JS 中初始化它(当然是在 deviceready 上):
var pushController = PushNotification.init(
"android":
"senderID": "_",
"forceShow": true
,
"ios":
"alert": "true",
"badge": "true",
"sound": "true"
);
pushController.on('registration', function (data)
console.log("Push registration", data);
);
所以当注册成功时,我会在控制台中看到设备的注册 ID。但是,当我尝试将消息从服务器推送到此注册 ID 时,我收到错误响应,代码为 invalidRegistration。我正在使用 gcm package 从 node.js 服务器推送。
相同的设置在 Android 上效果很好。我不确定证书的正确性,并严格按照说明重复过程。但是iOS上的结果是一样的。
【问题讨论】:
invalidRegistration 基本上是由于访问令牌无效。您是否尝试过检查 http 请求的“to”值并将其与设备在注册期间收到的值进行对比? 【参考方案1】:解决问题的最佳方法是第 100 次重新检查流程的每个阶段。问题出在服务器端证书中。和 app 和 apns 用的不一样。
现在我遇到了临时制作版本的问题,但那是另一回事了。
【讨论】:
以上是关于推送到 iOS 时,使用 Cordova 和 Phonegap Push Plugin 在应用服务器上获取 invalidRegistration的主要内容,如果未能解决你的问题,请参考以下文章
键盘将整个内容推送到黑色背景(cordova+framework7+vue)