0

我正在使用 Node.js 通过从设备客户端删除registrationIds 手动将信息推送到设备。但是当我想向客户端发送消息时,我不知道如何直接从服务器registrationIds GCM获取信息而无需手动输入。

示例:我想将APA91bHg7QEO3h44OCrBAb6yoHEvNvVSrRRcJjufS5fduCw2YhC83BZ9eqlxYS9PbKIAoFrmK-rvNEQ-CxrAjy4Wy13CRt5or1h7kG9XDRg2Tcy4zx8EpGOYLybmgnLDmVVvTJF4PR9Y替换为直接取自 GCM 的 id。

代码服务器:

var gcm = require('node-gcm');
//var gcm = require('../gcm.js');

var message = new gcm.Message();
var sender = new gcm.Sender('AIzaSyB8IAgyo9DJbmGiVISnCCoxcQRD7em6KfI');
var registrationIds = [];

message.addData('title','Long Van');
message.addData('message','Ket qua xo so moi nhat!!!!');
message.addData('msgcnt','1');
message.collapseKey = 'demo';
message.delayWhileIdle = true;
message.timeToLive = 3;

// At least one token is required - each app registers a different token
 registrationIds.push('APA91bHg7QEO3h44OCrBAb6yoHEvNvVSrRRcJjufS5fduCw2YhC83BZ9eqlxYS9PbKIAoFrmK-rvNEQ-CxrAjy4Wy13CRt5or1h7kG9XDRg2Tcy4zx8EpGOYLybmgnLDmVVvTJF4PR9Y');

/**
 * Parameters: message-literal, registrationIds-array, No. of retries, callback-function
 */

sender.send(message, registrationIds, 4, function (result) {
console.log(result);
});
/** Use the following line if you want to send the message without retries
sender.sendNoRetry(message, registrationIds, function (result) {
console.log(result); });
**/
4

1 回答 1

0

正确的方法是当设备向 GCM 注册时,GCM 将返回令牌 ID / reg ID(无论您如何称呼它),此时,您应该使用此 ID 更新您的服务器以及一些附加信息以识别 ID(也许是关联的电子邮件或用户名?)

于 2013-04-08T08:34:20.647 回答