簡體   English   中英

使用 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 發送推送使用特定 ID 發送推送

向所有人發送推送向所有人發送推送

我不確定我做錯了什么,但我試圖堅持鈦提供的基本示例。

問題是設備沒有關聯用戶:

用戶未關聯到設備

經過大量測試后,我意識到在Cloud.Users.login方法之后我錯誤地調用了Cloud.PushNotifications.subscribeToken而不是Cloud.PushNotifications.subscribe 改變這一點,在登錄和訂閱后,設備有一個與之關聯的用戶:

與設備關聯的用戶

一切都按預期工作,發送和接收推送通知。

編輯:我沒有注意到懸停失敗標簽向您展示了原因(顯示信息的一種有點奇怪的方式),實際上原因在那里有所解釋:

錯誤信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM