Приложение для обмена сообщениями Firebase / тайм-аут сети из функций Firebase - PullRequest
0 голосов
/ 28 ноября 2018

мой код push-уведомления из функции firebase выглядит следующим образом:

 //fetch push tokens of all admins as well to send push notification
        var tokens = []

        if(pushToken !== undefined && pushToken !== '')
            tokens.push(pushToken)

        tokens = tokens.concat(adminPushTokens)


        //push tokens need to be of customer as well as all the admins in the system. fetch admin push tokens
        admin.messaging().sendToDevice(tokens, pushPayload).then(
            (resp) => console.log("push notification sent")
        ).catch(
            (err) => console.error("Error sending push notification:" + JSON.stringify(err))
        )

И в течение 15-20% времени он заканчивается в

 Error sending push notification:{"code":"app/network-timeout","message":"fcm.googleapis.com network timeout. Please try again."}

Это большойпроблема для нас и не приемлемая производительность.Как мы можем быть уверены, что повысим надежность?

1 Ответ

0 голосов
/ 28 ноября 2018

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

Так что вы должны сделать:

return admin.messaging().sendToDevice(tokens, pushPayload).then({});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...