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

Firebase消息应用程序/Firebase功能的网络超时,firebase,firebase-cloud-messaging,google-cloud-functions,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(a

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."}

这对我们来说是个大问题,不是一个可以接受的表现。我们如何确保提高可靠性?

这可能与您之前的问题相同:您应该返回异步方法返回的承诺。如果不返回承诺,云函数将不会等待异步任务完全完成

所以你应该:

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

这可能与前面的问题相同:您应该返回异步方法返回的承诺。如果不返回承诺,云函数将不会等待异步任务完全完成

所以你应该:

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

我已经修改了密码,你的答案听起来不错。如果这解决了问题,我将在明天之前将其标记为正确。注意,在我的回答中,我假设这是一个后台触发的云功能。我已经更改了代码,您的回答听起来不错。如果这解决了这个问题,我将在明天之前将其标记为正确。注意,在我的回答中,我假设它是一个背景触发的云函数