简体   繁体   中英

Firebase cloud message not sending to device

I am trying to allow users to receive push notifications if an action happened ( like, comment, etc). In the log I sometimes get sucesscount: 1 however device does not receive a notification. But most of the time it is faliurecount:1 the second time. Regardless I am not getting the push notification. When I deployed my functions there was no errors.

When I do send myself a test message from Firebase cloud messaging, that however does work correctly and sends a push notification to everyones devices successfully.

Here is observing likes for example

 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

在此处输入图片说明

So I found the issue. I deleted the app from my device and created a new account ( and it created a new FCM token for the account) and push notifications does work. I did another check and manually changed the FCM token on another device to a new one it registered with , and push notifications are successful. It appears I now need to find a way to update every current test users FCM token because their current devices aren't receiving notifications.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM