Push notification 使用Cloud.PushNotifications.notify向特定ID发送推送通知后失败

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",

我一直在用Tianium开发聊天应用程序,当用户发送消息时,我在发送推送通知时遇到了一些问题

如果我只是打电话:

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
。更改在登录和订阅后,设备具有与其关联的用户:

一切正常,推送通知被发送和接收

编辑: 我没有注意到,悬停在故障标签上显示了原因(显示信息的方式有点奇怪),事实上,原因在这里有一些解释:


经历完全相同的事情。服务器日志返回成功的推送,但是推送日志报告失败,没有进一步的详细信息。我刚刚记得我在另一个项目中修复了这个问题,稍后我将用答案进行更新。这与我调用的方法有关。仍然遇到问题,但我认为这与您是否尝试将鼠标悬停在失败标签上有关?我从你的链接中发现了这一点,知道这一点会很有帮助。