首页 > 解决方案 > 通过 Expo 管理的工作流向特定的 firebase 用户推送通知

问题描述

我是 react-native android 应用程序的新手。我创建了一个 Expo 项目(托管工作流),我正在搜索如何向我从我的 android 应用程序的选择列表中选择的特定用户发送通知,但我只找到了如何将通知推送给所有安装了应用程序。

我可以使用 expo 托管工作流向 firebase 项目中的特定用户推送通知吗?或者我必须只创建 java android 项目来做到这一点?

标签: androidfirebasereact-nativeexpo

解决方案


以下是流程的完成方式。您需要做的是,制作 api 将每个用户的 ExpoToken 保存ExponentPushToken[xxxxxxxxxxxx-xxxxxxxx]在 db 中,与该用户的 id Expo 通知文档相对应,可能在登录时。然后制作一个单独的 api 用于向特定用户发送通知。选择任何用户时,请调用API并发送该用户的ID和消息(如果有),然后在后端获取该用户从DB中通过收到的ID来获取该用户的expotoken。之后,只需向此 api https://exp.host/--/api/v2/push/send发出一个 post 请求,请求正文将如下所示:

{
    "to": "ExponentPushToken[xxxxxxxxxxxx-xxxxxxxx]",
    "sound": "default",
    "body": "You message"
}

更多关于这个here。当您需要为应用程序生成独立的 apk 时,您首先需要将其连接到 firebase 以进行工作。这里使用 Firebase Cloud Messaging for Expo。 希望你明白了。


推荐阅读