Expo如何管理一千个推送通知的FCM令牌?

Posted

技术标签:

【中文标题】Expo如何管理一千个推送通知的FCM令牌?【英文标题】:Expo how to manage a thousand FCM token for Push Notification? 【发布时间】:2021-01-31 15:11:42 【问题描述】:

我制作了一个应用程序,它想使用 expo-notifications 来爆破(千名用户)通知,就像 expo 文档所说的 https://docs.expo.io/push-notifications/sending-notifications/#http2-api,我将 POST 请求发送到 https://exp.host/--/api/v2/push/send,但是当我尝试在服务器上实现它时,它需要几分钟来处理它,因为数据库中有太多的 FCM 令牌。我之前没有在链接上使用一些 SDK 的原因是因为我的后端使用了未在世博会文档中列出的语言。我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

您可以通过多种方式确保您以正确的方式发送通知请求。

    您确定使用to 参数作为包含多个令牌的数组,而不是向同一个端点发出多个HTTP 请求吗?发送数千个 HTTP 请求而不是一个带有多个令牌的请求可能需要更多时间才能完成。 您是否对请求使用 GZip 压缩?根据文档

    这可以大大减少发送大量通知所需的上传带宽。

据我所知:

Expo 服务器可以轻松处理数千(呃,数百万)通知。 对exp.host/…/send 的请求实际上并没有等待通知发送,它只是“将通知放入队列”,因此请求没有理由花费很长时间。

我要问的另一个问题是您在后端使用什么语言、库以及如何将请求发送到 Expo 服务器?可能有什么问题?

【讨论】:

以上是关于Expo如何管理一千个推送通知的FCM令牌?的主要内容,如果未能解决你的问题,请参考以下文章

无法获取设备的推送令牌。检查您的 FCM 配置是不是有效

Firebase 推送通知 - 如何跟踪用户 FCM 令牌?

使用 Expo react native (android) 收听 FCM 推送通知传递

通过 FCM 在独立的 expo android build 上推送通知不会触发 addNotificationResponseReceivedListener()

通过 FCM 发送推送通知时何时使用 iOS 设备令牌?

FCM - 通过设备令牌和环境/组发送 android 推送通知