推送到 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)

使用 Azure 将通知从 ASP.Net 页面推送到不同平台

NodeJS + SocketIO 推送到移动应用

将通知从 iOS 推送到 Android 不起作用

Flutter:使用导航器推送到新屏幕时保持底部导航栏

如何按键过滤数组并使用javascript将值推送到另一个数组