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令牌?的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 推送通知 - 如何跟踪用户 FCM 令牌?
使用 Expo react native (android) 收听 FCM 推送通知传递
通过 FCM 在独立的 expo android build 上推送通知不会触发 addNotificationResponseReceivedListener()