Firebase 通知 - 如何只向特定用户发送通知?

Firebase Notifications - How to Send Notifications only to Specific Users?

我正在使用 Firebase Notifications 构建一个应用程序,用户可以在其中输入他们的邮政编码,然后接收他们所在地区发生的特定事件的通知。

如何只向特定用户发送通知?我已尝试在 Firebase 通知的 高级选项 部分中包含邮政编码,但它仍会向所有用户发送通知。

您似乎正在尝试 Send Notifications to a User Segment in the Firebase Console。但是,您定位的特定详细信息似乎不是控制台中可用的选项。

截至目前,您可以发送的唯一可用用户群是(发送通知时可以在目标部分修改这些):

  • (用户)观众
    • 所有用户
    • 购买者
  • (设备)语言
    • 英语(我认为它可能因您使用的语言而异
  • (应用程序) 版本
    • 包含
    • 不包含
    • 精确匹配
    • 正则表达式

在清楚以上内容后,我认为您向特定邮政编码的那些特定用户发送邮件的唯一方法是,您应该从您的服务器应用程序实施推送,其中您收集具有相应的用户配置文件邮政编码,然后将消息推送到他们的注册令牌。

我认为本文中提到的链接 会对您有所帮助:

Firebase Cloud Messaging has server-side APIs that you can call to send messages. See https://firebase.google.com/docs/cloud-messaging/server.

Sending a message can be as simple as using curl to call a HTTP end-point. See https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocol

curl -X POST --header "Authorization: key=<API_ACCESS_KEY>" --Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"<YOUR_DEVICE_ID_TOKEN>\",\"notification\":{\"body\":\"Yellow\"} \"priority":\"10"}"

您要找的似乎是 Topics。当用户输入他们的邮政编码时,您可以为他们订阅一个主题,例如:/topics/zip 然后您可以从控制台发送到适当的邮政编码。如果主题尚不存在,订阅将创建该主题。

注意:主题创建后最长可能需要 24 小时才能显示在控制台中。

有以下方法可以做到,

  1. 主题消息 - 订阅特定受众的主题,并发送带有该主题名称的通知。

  2. Firebase 令牌 - 您可以在服务器上编写逻辑以将通知发送到特定的 Firebase 令牌 ID。