Firebase功能的Firebase消息传递应用程序/网络超时

时间:2018-11-28 20:07:38

标签: firebase firebase-cloud-messaging google-cloud-functions

我来自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 :(得分:2)

这可能与上一个question中的问题相同:您应返回异步sendToDevice()方法返回的promise。如果不兑现承诺,则Cloud Function将不会等待异步任务完全完成。

所以您应该这样做:

return admin.messaging().sendToDevice(tokens, pushPayload).then({});