[英]Google Cloud Messaging (fake_message_id)
我有 node.js 服務器:
var gcm = require('node-gcm');
// create a message with default values
var message = new gcm.Message();
// or with object values
var message = new gcm.Message({
collapseKey: 'demo',
delayWhileIdle: true,
timeToLive: 3,
data: {
key1: 'message1',
key2: 'message2'
}
});
var sender = new gcm.Sender('AIzaSyChp2jTQsgPkLaaVgFh6yoovu1Td7tuQMo');
var registrationIds = [];
// OPTIONAL
// add new key-value in data object
message.addDataWithKeyValue('key1','message1');
message.addDataWithKeyValue('key2','message2');
// or add a data object
message.addDataWithObject({
key1: 'message1',
key2: 'message2'
});
// or with backwards compability of previous versions
message.addData('key1','message1');
message.addData('key2','message2');
message.collapseKey = 'demo';
message.delayWhileIdle = true;
message.timeToLive = 3;
message.dryRun = true;
// END OPTIONAL
// At least one required
registrationIds.push('APA91bGV0W6lgapC07aHc-sQdd462f_lCoUY0r5mqVtdFX1ZfK31njMUeyVXXXXXXXXXXXXXXXXXXXXXXXXX0SiAp29dkyxdJ5Y8Cl2tO1aih0KeViA9hK3Q47atoU8qsD6ITbg');
/**
* Params: message-literal, registrationIds-array, No. of retries, callback-function
**/
sender.send(message, registrationIds, 4, function (err, result) {
console.log(result);
});
我得到了一個:
{multicast_id:-1,成功:1,失敗:0,canonical_ids:0,結果:
[ { message_id: fake_message_id' } ] }
並且消息不會發送給接收者。
fake_message_id 是什么意思?
查看您的代碼,我可以看到您將消息的屬性 dryRun 設置為 true:
message.dryRun = true;
通過這樣做,您告訴 Google 服務器這是一條測試消息,以查看是否所有密鑰都已正確配置。 如果您注釋掉該行,或將該屬性設置為 false(其默認值),則該消息將作為真實消息進行處理。
DryRun 答案也很容易被他們的multicast_id 發現,它總是-1
對於無效的令牌,它將顯示如下消息:
{"error":"NotRegistered"}]}
或者
{"error":"InvalidRegistration"}]}
在回應中這樣說:
"success":0,"failure":1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.