首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase Admin

Firebase Admin
EN

Stack Overflow用户
提问于 2022-01-04 07:46:47
回答 1查看 678关注 0票数 1

这个包含较小的令牌列表的代码可以正常工作,但我不知道为什么当令牌单独有效时,它无法向所有令牌发送通知。

我做错什么了吗?当令牌列表包含较少的令牌时,将发送所有通知。最多有30个代币。

代码语言:javascript
复制
        let notificationData = {
            Id: messageInfo.ChatId,
            Type: notificationType.ChatMessage,
            Data: chatRoom
        };

        var payload = {
            notification: {
                title: title,
                body: body,
            },
            data: {
                NotificationData: JSON.stringify(notificationData),
            },
            apns: {
                payload: {
                    aps: {
                        sound: "default",
                    },
                },
            },
        };

        payload.tokens = chatRoom.FCMTokens;

        return admin.messaging().sendMulticast(payload).then(response => {
            if (response.failureCount > 0) {
                const failedTokens = [];
                response.responses.forEach((resp, idx) => {
                    if (!resp.success) {
                        failedTokens.push(payload.tokens[idx]);
                    }
                });
                console.log('List of tokens that caused failures: ' + JSON.stringify(response));
                console.log('List of tokens that caused failures: ' + failedTokens);
            }
            else {
                console.log("Successsfully MulticastMessage");
            }
            return null;
        }).catch(error => {
            console.log("Error sending notification", error);
            return null;
        });

更多信息:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-04 14:18:57

问题是有效负载中有许多用户超过了4kb。

通知消息可以包含可选的数据有效负载。这两种消息类型的最大有效负载为4KB,但从Firebase控制台发送消息时除外,后者强制执行1024个字符限制。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70575492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档