Уведомление не достигает устройства iOS, даже если отправка (сообщение) прошла успешно - PullRequest
0 голосов
/ 15 декабря 2018

Я пытаюсь создать облачную функцию Firebase для отправки уведомлений.Я могу использовать токен FCM для отправки уведомления непосредственно на устройство iOS с помощью консоли, и на моем устройстве iOS отображается notificatino.Тем не менее, устройство не получает уведомление, используя облачную функцию, указанную ниже, даже если токен FCM одинаков и вызов send (message) выполнен успешно.Я что-то упустил?

const admin = require('firebase-admin');
const functions = require('firebase-functions');

admin.initializeApp(functions.config().firebase);

var db = admin.firestore();

exports.requestCreated = functions.firestore
.document('users/{userId}')
.onWrite((change, context) => {
  const createdBy = context.params.userId;
  console.log("Request created by ",createdBy);
  var userRef = db.collection('users').doc(createdBy);
  return userRef.get().then(doc => {
  console.log('Data: ',doc.data());
  console.log('FCM token: ',doc.data().fcmToken);

      // This registration token comes from the client FCM SDKs.
      var registrationToken = doc.data().fcmToken;

      // See documentation on defining a message payload.
      var message = {
        data: {
          score: '850'
        },
        token: registrationToken
      };

      // Send a message to the device corresponding to the provided
      // registration token.
      admin.messaging().send(message)
        .then((response) => {
          // Response is a message ID string.
          console.log('Successfully sent message:', response);
        })
        .catch((error) => {
          console.log('Error sending message:', error);
        });
  });
});

1 Ответ

0 голосов
/ 15 декабря 2018

// Добавить уведомление в полезную нагрузку сообщения

var message = {
        data: {
          score: '850'
        },
        notification: {
          title: "",
          body: ""
        }
        token: registrationToken
      };

Ваш код нормально работает в Android.в IOS вам нужно прикрепить уведомление к полезной нагрузке сообщения, а также использовать sendToDevice ().Попробуй это.Вы должны получить оценку, используя эту полезную нагрузку.будет работать

...