我们正在尝试使用后端的node-apn
模块和客户端上的phonegap-plugin-push
模块向用户发送推送通知。在我们的开发服务器和构建上,这似乎有效,但在我们的App Store上的生产应用程序中似乎没有收到推送通知。客户端正在注册推送通知,具有正确的通知权限,并将其设备令牌传递回服务器。当我尝试在打开调试的情况下从我们的服务器向该设备发送推送时,我得到:
apn Initialising connection +0ms
apn Loading Credentials +2ms
apn 1 left to send +3ms
info sending apns Fri Oct 02 2015 17:08:12 GMT+0000 (UTC) { deviceType: 'ios',
info sending apns deviceToken: '<token>' } { title: 'test title',
info sending apns message: undefined,
info sending apns route: undefined,
info sending apns params: { id: undefined } }
apn Connection established +144ms
apn Socket drained +103ms 0
apn 0 left to send +1ms
apn 0 left to send +0ms
那些未定义的属性是不需要发送的,我没有填写的 - 添加它们在这里没有区别。 APN连接未报告任何错误(证书周围存在较早的错误,不包括特定的CA,但我已修复此错误),但设备上未收到任何消息。开发和生产之间的唯一区别应该是证书/配置文件,我相信这些配置正确。
有没有其他方法来解决这样的问题?有没有办法通过Apple的开发人员工具来确认设备令牌是否有效(除了尝试发送给它们,它正在尝试),或者通过我们的后端直接发送测试消息?我不确定如何排除故障,因为我实际上没有看到任何错误。如果我能提供其他有用的详细信息,请告知我们。