使用 Cloud.PushNotifications.notify 向特定 ID 发送推送通知后失败
Failure after sending push notification to specific IDs with Cloud.PushNotifications.notify
我一直在使用 Titanium 开发聊天应用程序,但在用户发送消息时发送推送通知时遇到了一些问题。
如果我简单地调用:
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 面板上标记为状态失败。
如果我设置 to_ids = "everyone"
,情况就不同了,推送会被发送(只要您是管理员用户)。
奇怪的是,如果我尝试从 ArrowDB 面板发送它,我会得到同样的错误。
发送具有特定 ID 的推送
正在向所有人发送推送
我不确定自己做错了什么,但我尝试坚持使用 titanium 提供的基本示例。
问题是设备没有关联用户:
经过大量测试后,我意识到在 Cloud.Users.login
方法之后我错误地调用了方法 Cloud.PushNotifications.subscribeToken
而不是 Cloud.PushNotifications.subscribe
。改变这一点,在登录和订阅之后,设备有一个与之关联的用户:
一切正常,发送和接收推送通知。
编辑:
我没有注意到悬停在“失败”标签上会向您显示原因(显示信息的方式有点奇怪),实际上原因在其中有所解释:
我一直在使用 Titanium 开发聊天应用程序,但在用户发送消息时发送推送通知时遇到了一些问题。
如果我简单地调用:
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 面板上标记为状态失败。
如果我设置 to_ids = "everyone"
,情况就不同了,推送会被发送(只要您是管理员用户)。
奇怪的是,如果我尝试从 ArrowDB 面板发送它,我会得到同样的错误。
发送具有特定 ID 的推送
正在向所有人发送推送
我不确定自己做错了什么,但我尝试坚持使用 titanium 提供的基本示例。
问题是设备没有关联用户:
经过大量测试后,我意识到在 Cloud.Users.login
方法之后我错误地调用了方法 Cloud.PushNotifications.subscribeToken
而不是 Cloud.PushNotifications.subscribe
。改变这一点,在登录和订阅之后,设备有一个与之关联的用户:
一切正常,发送和接收推送通知。
编辑: 我没有注意到悬停在“失败”标签上会向您显示原因(显示信息的方式有点奇怪),实际上原因在其中有所解释: