【问题标题】:APN BadDeviceToken iff running dev versionAPN BadDeviceToken iff 运行开发版本
【发布时间】:2017-10-26 22:10:07
【问题描述】:

问题

我在处理应用时没有收到推送通知,
APN 服务器返回“BadDeviceToken

情况

我必须在这里遗漏一些简单的东西,情况就是这样:

  1. 当我向从 App Store 下载的应用发送推送通知时,它可以工作

  2. 当我从同一服务器向我的应用程序的同一版本 (*) 发送推送通知但构建于 Xcode 时,APN 服务器返回 status: '400' 失败并返回 failed[0].response.reason: 'BadDeviceToken'

(*) 我说的是同一个版本,代码是一样的,插件应该是一样的,但是我已经把Cordova iOS版本从4.x降到了3.x。

技术

我正在使用更新的推送通知方法,在服务器上我只有一个 .p8 APNs Auth Key。
服务器是使用node-apn plugin的节点代码。
客户端应用是 Cordova,使用 Telerik Push Plugin

我尝试过的

  • 我尝试创建一个新的 APNs 身份验证密钥并将其上传到服务器;这仍然适用于应用程序的 App Store 版本,并且 APN 在发送到我本地构建的应用程序版本时仍然返回“BadDeviceToken”。

  • 在将推送发送到本地构建的应用程序之前,我已尝试在服务器配置上为 node-apn 设置 production: false;我仍然收到“BadDeviceToken”错误。

  • 按照this question 对令牌进行额外的十六进制编码;结果是它仍然显示“BadDeviceToken”,尽管在这种情况下它实际上是真的。

  • 将 cordova-ios 版本升级到 4.3.1;仍然得到“BadDeviceToken”。

  • 在构建时仔细检查“推送通知”功能是否开启

  • 按照here 的建议和here 的描述进行发布构建而不是调试构建

问题

为什么 APN 服务器说 BadDeviceToken 显然不是真的?
还有,我该如何解决?

【问题讨论】:

    标签: ios node.js cordova apple-push-notifications push


    【解决方案1】:

    删除应用程序并重新安装它(即从 Xcode 重新运行它)提供了一个新令牌,并且新令牌正常工作。

    【讨论】:

    • 我的第一次赏金...... 50 声望......答案是重新安装。 :(
    • 斗争是真实的xD
    【解决方案2】:

    除了@kris 的回答:

    • 您也可以通过xCode 运行应用程序来解决它,这将生成一个开发版本,并且需要使用带有开发证书的APNS 开发网关,而不是生产证书。
    • 或者,如果您从Xcode 直接安装到您的手机,那么您必须使用Development security profile 并确保您将通知从服务器端发送到iOS devlopment sand box。如果您使用 TestFlight/AppStore,则需要使用生产配置文件并确保将通知发送至 iOS production sandbox

    解决方案然而被提出问题的人发现,并说明:

    • 由于某种原因,Xcode 项目没有使用正确的配置文件,解决方案是re-install 应用程序。

    我想进一步解释一下APNS_BAD_DEVICE_TOKEN 是什么:

    • 指定的设备令牌错误。验证您是否指定了有效的令牌,并且您的安全配置文件的类型(开发/生产)与您的推送证书的类型匹配。

    【讨论】:

    • 我可能也有类似的困惑。我现在正在发布模式下进行测试,所有 APNS 通知(通过 AWS SNS)都失败了。我可以在发布模式下运行,将我的测试设备连接到我的 Mac 并使用 xcode 中的“运行”按钮启动我的应用程序,并使用我在 AWS 上的生产配置文件发送通知吗?
    • 这个答案帮助了我的情况。通过 Test Flight(对于我们的 QA 环境)推送存档构建后,我没有收到推送通知。事实证明,在推送我的服务器端代码时,我不得不在我的 QA 配置中使用“production: true”,因为生成的令牌在归档 ipa 与通过 Xcode 推送到设备之间必须不同。 hth.
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 2011-06-07
    相关资源
    最近更新 更多