昨天,在按照docs.ionic.io/docs/push-from-scratch上的说明操作后,我成功地从Ionic.io仪表板发送了许多一次性推送通知。
然后我想测试目标推送通知,这需要使用Ionic User service。
我根据文档添加了此代码:
// kick off the platform web client
Ionic.io();
// this will give you a fresh user or the previously saved 'current user'
var user = Ionic.User.current();
// if the user doesn't have an id, you'll need to give it one.
if (!user.id) {
user.id = Ionic.User.anonymousId();
// user.id = 'your-custom-user-id';
}
//persist the user
user.save();
此时,我重新跑了ionic build ios
,然后,我的手机通过usb插入我的电脑,从Xcode重新构建了应用程序,重新启动了应用程序。然后我尝试使用目标推送通知,但他们没有通过。因此,为了测试一般的推送通知,我尝试再次发送一次性推送通知。这次推送通知不起作用。最终,我意识到目标通知试图使用user_ids而不是设备令牌。这是我当时的代码状态:https://github.com/stewartmccoy/taggit
所以,我删除了上面的Ionic用户代码并尝试将我的代码重置回我第一次推送工作时所处的状态。不幸的是,我无法再接受推动。
这是我发送一次性推送时的示例响应代码:
{"result":"queued","errors":[],"message_id":"d80c7478cb6c11e5ab6e8a009451912b"}
如果我检查该消息ID,这是一个示例消息状态:
{"android":{"success":false,"sent":0,"failure_reason":""},"errors":[],"status":"Queued","ios":{"success":false,"sent":0,"failure_reason":""},"app_id":"d2bb004b"}
我尝试获得Ionic Platform服务开发人员的支持(https://gitter.im/driftyco/ionic-io-testers),但其中一位开发人员告诉我:“我会删除Ionic.io();在推送代码后调用。除此之外,你的代码看起来不错。推送服务器看起来很稳定,但是,我想知道你的凭据或你正在使用的令牌是否有任何问题。“
我无法获得有关如何验证凭据或令牌的任何指导。
无论如何,我完全被阻止了,并且会喜欢一些指导。