Push notification 使用Cloud.PushNotifications.notify向特定ID发送推送通知后失败
我一直在用Tianium开发聊天应用程序,当用户发送消息时,我在发送推送通知时遇到了一些问题 如果我只是打电话:Push notification 使用Cloud.PushNotifications.notify向特定ID发送推送通知后失败,push-notification,appcelerator,appcelerator-arrow,arrowdb,Push Notification,Appcelerator,Appcelerator Arrow,Arrowdb,我一直在用Tianium开发聊天应用程序,当用户发送消息时,我在发送推送通知时遇到了一些问题 如果我只是打电话: Cloud.PushNotifications.notify({ channel : 'myChannel', to_ids : usersID.toString(), payload : { message : "message", from : myId, sound : "default",
Cloud.PushNotifications.notify({
channel : 'myChannel',
to_ids : usersID.toString(),
payload : {
message : "message",
from : myId,
sound : "default",
alert : "New message!",
}
};, function(e) {
if (e.success) {
console.log('Success');
} else {
console.log('Error:\n' + ((e.error && e.message) || JSON.stringify(e)));
}
});
我从服务器获得了OK
{"push_notification":{"id": "xxx", "payload": "{\"message\":\"message\",\"from\":\"xxx\",\"sound\":\"default\",\"alert\":\"New message!\"}", "channel": "myChannel"}, "success": true,"error": false, "meta":{"code": 200, "status": "ok", "method_name": "Notify"}}
但是,推送通知在ArrowDB面板上标记为状态失败
如果我将设置为_id=“everyone”
,则会发送推送(只要您是管理员用户)
奇怪的是,如果我试图从ArrowDB面板发送它,我会收到相同的错误
使用特定ID发送推送
将推送发送给everone
我不确定我做错了什么,但我试着坚持使用Tianium提供的基本示例。问题是设备没有与用户关联: 经过大量测试,我意识到在使用
Cloud.Users.login
方法之后,我错误地调用了Cloud.PushNotifications.subscribebetoken
方法,而不是Cloud.PushNotifications.subscribe
。更改在登录和订阅后,设备具有与其关联的用户:
一切正常,推送通知被发送和接收
编辑:
我没有注意到,悬停在故障标签上显示了原因(显示信息的方式有点奇怪),事实上,原因在这里有一些解释:
经历完全相同的事情。服务器日志返回成功的推送,但是推送日志报告失败,没有进一步的详细信息。我刚刚记得我在另一个项目中修复了这个问题,稍后我将用答案进行更新。这与我调用的方法有关。仍然遇到问题,但我认为这与您是否尝试将鼠标悬停在失败标签上有关?我从你的链接中发现了这一点,知道这一点会很有帮助。