Облачное сообщение Firebase не отправляется на устройство - PullRequest
0 голосов
/ 26 января 2020

Я пытаюсь разрешить пользователям получать уведомления pu sh, если произошло какое-либо действие (например, комментарий и т. Д. c). В журнале иногда появляется сообщение sucesscount: 1, однако устройство не получает уведомление. Но в большинстве случаев это неверный счет: 1 во второй раз. В любом случае, я не получаю уведомление pu sh. Когда я развернул свои функции, ошибок не было.

Когда я отправляю себе тестовое сообщение из облачной системы обмена сообщениями Firebase, оно, однако, работает правильно и отправляет уведомление pu sh всем устройствам успешно.

Вот observing likes например

 exports.observeLikes = functions.database.ref('/user-likes/{uid}/{postId}').onCreate((snapshot, event) => {
     var uid = event.params.uid;
     var postId = event.params.postId;

     return admin.database().ref('/users/' + uid).once('value', snapshot => {
       var userThatLikedPost = snapshot.val();

       return admin.database().ref('/posts/' + postId).once('value', snapshot => {
         var post = snapshot.val();

         if(uid === post.ownerUid) {
          return Promise.resolve();
        }


         return admin.database().ref('/users/' + post.ownerUid).once('value', snapshot => {
           var postOwner = snapshot.val();

           var payload = {
             notification: {
               body: userThatLikedPost.username + ' liked your post ',
              sound: 'default'
             }
           };

           admin.messaging().sendToDevice(postOwner.fcmToken, payload)
           .then((response) => {
             // Response is a message ID string.
             console.log('Successfully sent message:', response);
             return response;
           })
           .catch((error) => {
             console.log('Error sending message:', error);
             throw new Error('Error sending message:', error);
           });
             })
         })
       })
     })

Log

enter image description here

1 Ответ

0 голосов
/ 26 января 2020

Итак, я нашел проблему. Я удалил приложение со своего устройства и создал новую учетную запись (и он создал новый токен FCM для учетной записи), и уведомления pu sh работают. Я сделал еще одну проверку и вручную изменил токен FCM на другом устройстве на новый, на котором он зарегистрирован, и уведомления pu sh выполнены успешно. Похоже, теперь мне нужно найти способ обновления каждого текущего тестового токена пользователей FCM, поскольку их текущие устройства не получают уведомления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...