FCM доставляет дублированные копии push-уведомлений - PullRequest
0 голосов
/ 25 апреля 2018

Я использую модули узла fcm для отправки push-уведомлений. Пытался отправить в группу (группу с одним токеном устройства). И все это доставляет дублированные копии (4 копии каждый раз) одного и того же толчка для одного предупреждения. Предполагалось, что он будет доставлен только один. Я использовал fcm-node (версия: 1.2.1), fcm-push (версия: 1.1.3) и т. Д.

Код nodejs показан ниже:

Alerts.pushTry = function (cb) {
          var serverKey = "abcd"; //put your server key here
          var deviceToken = 'group_key'; // required

        var FCM = require('fcm-node');

        var message = { //this may vary according to the message type (single recipient, multicast, topic, et cetera)
            to: deviceToken, 
            notification: {
                title: 'Group 555 test'+ ((new Date()).getTime()), 
                body: 'Body of your push notification' 
            },

            data: {
                my_key: 'my value',
                my_another_key: 'my another value'
            }
        };

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

    };

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 12 июля 2018

Существуют некоторые открытые проблемы для вышеупомянутых узловых модулей. Я использовал модуль запроса и подключил URL-адрес push-уведомлений fcm напрямую, без зависимости от этих типов модулей npm с открытыми проблемами.

var request = require('request');
    request({ 
        url: 'fcm.googleapis.com/fcm/send',
        method: "POST", 
        headers: { "content-type" : "application/json", 
        "Authorization": key=${constants.FCM_SERVER_KEY}, 
        "project_id": constants.FCM_SENDER_ID, }, 
        json: message 
    }, function(error, response, body) {
        //You code
    });
...