簡體   English   中英

谷歌雲消息傳遞 (fake_message_id)

[英]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.

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