1

我試着發送消息到單個設備,即單個註冊ID,它工作正常,但當試圖添加多個註冊ID時,它會給出'InvalidServerResponse'錯誤。 例如適用於regTokens ='regId1'; 但不適用於regTokens = ['regId1','regId2'];如何在Node js中使用FCM將消息發送到多個android設備?

var FCM = require('fcm-node'); 
 
// Add API Key 
 
var fcm = new FCM('<server-key>'); 
 

 
exports.sendMessage = function (regTokens, messageToSend, callback) { 
 
    var message = { //this may vary according to the message type (single recipient, multicast, topic, et cetera) 
 
     to: regTokens, 
 

 
     data: { 
 
     ar_message: messageToSend 
 
     } 
 
    }; 
 

 
    fcm.send(message, function(err, response){ 
 
     if (err) { 
 
      console.log("Something has gone wrong!",err); 
 
     } else { 
 
      console.log("Successfully sent with response: ", response); 
 
     } 
 
     callback(err, 'Success'); 
 
     }); 
 
}

+0

它適用於兩個註冊ID如果單獨發送。但不適用於數組。 – Abhilasha

+1

請確保[代碼是獨立的](http://stackoverflow.com/help/mcve)。現在,我們不知道'regTokens'是什麼,這可能對它失敗的原因非常重要。 –

回答

4

更新:對於V1,似乎registration_ids不再支持。強烈建議使用主題來代替。


當發送到指定多個註冊標記,則必須使用registration_ids代替to。來自docs(重點是我的):

此參數指定多播消息的接收者,即發送給多個註冊令牌的消息。

該值應該是向其發送多播消息的註冊令牌的數組。該陣列必須包含至少1個和至多1000個註冊令牌。要將消息發送到單個設備,請使用to參數。

只允許使用HTTP JSON格式的組播消息。

var message = { 
    registration_ids: regTokens, 

    data: { 
     ar_message: messageToSend 
    } 
    }; 
+0

它的工作....謝謝.. – Abhilasha

+0

@Abhilasha接受它作爲正確的答案,以便您的帖子將被正確標記。乾杯! :) –

+0

完成..!謝謝 :) – Abhilasha

相關問題