【问题标题】:iOS Push Notification: cannot find vaild connectioniOS推送通知:找不到有效连接
【发布时间】:2016-07-17 23:09:54
【问题描述】:

我正在尝试在我的本地解析服务器上设置推送通知。 尝试发送推送时出现此错误:

parse-server-push-adapter APNS cannot find vaild connection for 9a86...21

(对于每个安装设备令牌都会重复该错误。)

有什么想法吗?

我的服务器代码:

var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '',
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  
  liveQuery: {
    classNames: ["Mission"]
  },
  filesAdapter: new S3Adapter(
    process.env.S3_ACCESS_KEY || '',
    process.env.S3_SECRET_KEY || '',
    process.env.S3_BUCKET || '',
    {directAccess: true}
  ),
  push: {
    ios: {
      pfx: 'certificates/development.p12',
      bundleId: 'co.example.myApp',
      production: false // Dev
    }
  }
});

我正在从我的云代码推送:

var installationQuery = new Parse.Query(Parse.Installation);
installationQuery.containedIn('user', specificUser);
Parse.Push.send({
  where: installationQuery,
  data: {
    "alert": "Loren ipsum ",
    "id": MyCustomId
  }
}, { useMasterKey: true }, {
  success: function() {
    console.log("Push was successful!");
  },
  error: function(error) {
    console.error(error);
  }
});

【问题讨论】:

  • 能否提供相关代码片段?
  • 你能解决这个问题吗?有同样的问题

标签: parse-server


【解决方案1】:

导致错误的原因是安装表中的设备与 push 请求中的过滤器匹配,该设备不再在 Apple 中为您的应用注册。当 Apple 收到对不再注册到您的应用程序的设备的通知请求时,它会返回该消息以指示您应该在这种情况继续发生时采取一些措施。

在我的情况下,我在安装表中注册了四个与我的push 过滤器匹配的设备,其中两个设备不再在 Apple 中为我的应用程序注册,所以每次我推送它时,每个无效安装都会出现该错误.

我不确定为什么会发生这种情况,但我看到以下情况会导致创建新的安装记录,从而使之前的安装无效。解析服务似乎可以在为该设备令牌收到如此多的错误而在错误之间没有成功推送之后对其进行监控并采取行动。

  1. 用户删除并重新安装应用程序
  2. 用户更新了他们的 iOS 版本,deviceToken 的值也发生了变化。
  3. 通过更改配置设置在应用程序中更新解析服务的连接 url,而无需重新安装应用程序。

要解决错误,您只需删除与错误消息中的deviceToken 匹配的安装

【讨论】:

    【解决方案2】:

    您可能还应该配置生产证书。另请注意,Apple 现在发布通用推送证书,您应该使用该证书,因为它适用于已获得的 deviceTokens 以及开发和生产捆绑包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-21
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      相关资源
      最近更新 更多