Не получать квитанции доставки облачных сообщений Firebase - программирование
Подтвердить что ты не робот

Не получать квитанции доставки облачных сообщений Firebase

Я отправляю следующее сообщение через fcm xmpp client. Но я не получаю квитанцию о доставке для доставленных сообщений.

Я использую node-xcs node для отправки сообщения XMPP.

var Sender = require('node-xcs').Sender;
var Message = require('node-xcs').Message;
var Notification = require('node-xcs').Notification;
var Result = require('node-xcs').Result;
var xcs = new Sender('123', 'xxxx', 1);
const uuidv4 = require('uuid/v4');
xcs.on('message', function(messageId, from, data, category) {
    console.log('received message', arguments);
}); 


xcs.on('receipt', function(messageId, from,  data, category){
    console.log(messageId,'dsafdsafdsaf')
});

xcs.on('connected', function(){console.log('connected')});
xcs.on('disconnected', function(){console.log('disconnected')});
xcs.on('online', function(){console.log('online')});
xcs.on('error', console.error);
xcs.on('message-error', function(){console.log('message-error')});

var notification = new Notification("./logo.png")
    .title("Hello buddy!")
    .clickAction("https://github.com/guness/node-xcs/blob/master/google/Notification.js")
    .body("test_body")
    .build();

var message = new Message(uuidv4())
    .priority("high")
    .dryRun(false)
    .deliveryReceiptRequested(true)
    .notification(notification)
    .build();

xcs.sendNoRetry(message, 'token', function(result) {
    if (result.getError()) {
        console.error(result.getErrorDescription());
    } else {
        console.log("message sent: #" + result.getMessageId());
    }
});

Ниже приведено сообщение XMPP, отправленное из пакета

<gcm xmlns="google:mobile:data">{
  "to": "token",
  "message_id": "59171fc6-42ad-4f22-812f-d0c4f7fa63d0",
  "priority": "high",
  "delivery_receipt_requested": true,
  "notification": {
    "body": "test_body",
    "click_action": "https://github.com/guness/node-xcs/blob/master/google/Notification.js",
    "icon": "./logo.png",
    "title": "Hello buddy!"
  }
}</gcm>

Я получаю ack, но я не получаю квитанцию о доставке, почему квитанция о доставке не подходит, даже если сообщение доставлено?

4b9b3361

Ответ 1

node-xcs основан на работах node-gcm-ccs и не поддерживается должным образом.
См. Отказ от ответственности в последнем из узла-xcs
Вы даже не можете отправлять уведомления на устройства ios, так как он был создан только для поддержки отправки FCM на Android и веб-устройства.

Смотрите здесь, это говорит, что это не поддерживается очень жирным шрифтом.
Я рекомендую использовать fcm-push вместо использования node-xcs

В прошлом году я столкнулся с похожими проблемами с этой библиотекой и переключился на fcm-push после прочтения этих очень смелых сообщений "НЕ ПОДДЕРЖИВАЕТСЯ, НЕ ПОДДЕРЖИВАЕТСЯ, НЕ ПОДДЕРЖИВАЕТСЯ".