Node.js - 无法将 Apple 推送通知发送到开发设备以进行调试

Posted

技术标签:

【中文标题】Node.js - 无法将 Apple 推送通知发送到开发设备以进行调试【英文标题】:Node.js- Can not send Apple Push Notifications to development devices for debug purposes 【发布时间】:2018-06-22 10:16:23 【问题描述】:

我正在维护一个 Node.js 应用程序,并且是 Node.js 的新手。此应用程序向 ios 设备发送推送通知。

为此,有一个包含 apn 设置的配置文件;

    apnConfig: 

        providerOptions: 
          token: 
          key: path.join(__dirname, 'keys', 'xxx.p8'),
          keyId: 'XXXXXX',
          teamId: 'XXXX'
          ,
          production: true  

这是我读取配置文件的地方;

var provider = new apn.Provider(conf.apnConfig.providerOptions);

我有一个 .p8 密钥文件,用于与 APN 通信服务器。 Apple 说“您可以将此密钥用于开发和生产”。

我的问题是通知无法发送到开发设备。在生产环境中没有问题。通知可以发送到生产设备

我想在两个设备上都发送通知。从技术上讲,单个 .p8 密钥文件一定没有问题。

它在配置文件中写入production: true。它会导致问题吗?

你能帮忙吗?谢谢

【问题讨论】:

【参考方案1】:

您需要有两个不同的令牌才能发送到生产和开发设备。 我的建议是让你用你的设备令牌保存在某个地方,如果它是一个 prod 设备或一个 dev 设备,那么你知道你可以使用哪个令牌。

希望对你有所帮助!

【讨论】:

以上是关于Node.js - 无法将 Apple 推送通知发送到开发设备以进行调试的主要内容,如果未能解决你的问题,请参考以下文章

通过 Azure 从 node.js 发送推送通知

Apple Watch - 如何安排并发症更新以与推送通知同步?

iOS 框架接收 Apple 推送通知

节点 js 中的 EWS 推送通知

没有 node.JS 的推送系统

有一种方法可以在 Node.JS 中为所有设备推送通知吗?