2014-09-17 15 views
5

Ho assistente node.js:Google Cloud Messaging (fake_message_id)

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); 
}); 

Ho un:

{multicast_id: -1, successo: 1, il fallimento: 0, canonical_ids: 0, i risultati:
[{message_id: fake_message_id'}]}

e il messaggio non invia ai ricevitori.

Che cosa significa fake_message_id?

risposta

20

Guardando il codice, vedo che si imposta la DryRun proprietà del messaggio su true:

message.dryRun = true; 

In questo modo si sta dicendo i server di Google che questo è un messaggio di prova per vedere se tutto i tasti sono configurati correttamente. Se commentate quella riga, o impostate la proprietà su false (il suo valore predefinito), il messaggio verrà gestito come un messaggio reale.

Le risposte di DryRun sono anche facilmente individuabili dal loro multicast_id, che sarà sempre -1

+0

Grazie per questa risposta –