使用firebase云函数的批量通知会作出本机反应

使用firebase云函数的批量通知会作出本机反应,firebase,react-native,push-notification,google-cloud-functions,Firebase,React Native,Push Notification,Google Cloud Functions,我对firebase和云功能的通知很陌生,我想知道如果使用CF,服务器由firebase的团队管理并具有自动缩放功能,如果我向用户发送10万条通知,是否有可能使我的应用程序崩溃 我正在做这样的事情: 应用程序上有人发了帖子 我的CF上有一个触发器,用于向用户发送通知 然后,所有用户(100.000)都收到了通知 Firebase infrastructure是否具有队列或作业管理功能以避免此类情况,或者我是否可以像婴儿一样睡个好觉 下面是我的代码片段: exports.newPost = fun

我对firebase和云功能的通知很陌生,我想知道如果使用CF,服务器由firebase的团队管理并具有自动缩放功能,如果我向用户发送10万条通知,是否有可能使我的应用程序崩溃

我正在做这样的事情:

  • 应用程序上有人发了帖子
  • 我的CF上有一个触发器,用于向用户发送通知
  • 然后,所有用户(100.000)都收到了通知
  • Firebase infrastructure是否具有队列或作业管理功能以避免此类情况,或者我是否可以像婴儿一样睡个好觉

    下面是我的代码片段:

    exports.newPost = functions.database.ref("post/{postId}")
        .onUpdate((change, context) => {
            const before = change.before.val();
            const after = change.after.val();
    
            if (before.status === after.status) {
                return null;
            }
    
            const ref = admin.database().ref(`tokens/`);
            return ref.orderByKey().once("value", async snapshot => {
    
                const fcmTokens = snapshotToArray(snapshot);
    
                admin.messaging()
                    .sendMulticast({
                        data: {},
                        tokens: fcmTokens,
                        notification: {
                            title: 'Title',
                            body: 'Body',
                        },
                        android: {
                            notification: {
                                image: imageUrl,
                            },
                        },
                        apns: {
                            payload: {
                                aps: {
                                    "mutable-content": 1,
                                },
                            },
                            fcm_options: {
                                image: imageUrl,
                            },
                        },
                    })
                    .then(resp => console.log(resp))
                    .catch(e => console.log(e))
            })
        })
    

    我的问题是:我的代码可能有问题吗?

    这里显示的代码没有本质上的“坏”之处。FCM每天定期发送数十亿条通知。其中最困难的部分甚至不是由您在这里展示的代码处理的,而是由FCM服务器处理的。这里的代码只是告诉服务器发送这些消息,这需要非常低的工作量。

    这里显示的代码没有本质上的“不好”。FCM每天定期发送数十亿条通知。其中最困难的部分甚至不是由您在这里展示的代码处理的,而是由FCM服务器处理的。这里的代码只是告诉服务器发送这些消息,这需要非常低的工作量。

    我不清楚您在这里担心什么。FCM每天发送数十亿条通知,从一般意义上说,这并没有问题。@DougStevenson,我编辑了我的帖子,说明了我的关注点。我仍然不太理解您预期的问题。@DougStevenson,我想知道我是否向使用FCM云功能的十万用户发送了一条通知,我的后端将处理它而不会使我的应用程序崩溃?我用的是那段代码..我不清楚你在这里担心什么。FCM每天发送数十亿条通知,从一般意义上说,这并没有问题。@DougStevenson,我编辑了我的帖子,说明了我的关注点。我仍然不太理解您预期的问题。@DougStevenson,我想知道我是否向使用FCM云功能的十万用户发送了一条通知,我的后端将处理它而不会使我的应用程序崩溃?我正在使用那个代码片段..FCM对通知的数量没有触发器限制吗?我不确定你在问什么。FCM的局限性有很好的文档记录,与云功能无关。FCM对通知的数量没有触发限制吗?我不太确定你在问什么。FCM的局限性有很好的文档记录,与云功能无关。