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

时间:2016-09-06 21:23:57

标签: ios objective-c firebase firebase-cloud-messaging firebase-notifications

我正在使用Firebase Notifications构建应用,用户可以输入他们的邮政编码,然后接收有关当地发生的特定事件的通知。

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

3 个答案:

答案 0 :(得分:2)

似乎Topics就像你要找的那样。当用户输入他们的邮政编码时,您可以订阅他们的主题,例如:/ topics / zip,然后您可以从控制台发送相应的邮政编码。如果主题尚不存在,则订阅将创建主题。

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

答案 1 :(得分:0)

您似乎正在尝试Send Notifications to a User Segment in the Firebase Console。但是,您所定位的具体细节似乎不是控制台中提供的选项。

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

  • 用户受众
    • 所有用户
    • 买方
  • 设备语言
    • 英语(我认为根据您使用的语言而有所不同
  • App 版本
    • 包含
    • 不包含
    • 完全匹配
    • 正则表达式

由于上述情况很清楚,我认为您只能通过特定邮政编码发送给特定用户,您应该从服务器应用程序实施推送,其中您使用相应的邮政编码收集用户配置文件,然后将消息推送到他们的注册令牌。

我认为此answer中提到的链接可以帮助您:

  

Firebase云消息传递具有服务器端API,您可以调用它们来发送消息。见https://firebase.google.com/docs/cloud-messaging/server

     

发送消息可以像使用curl来调用HTTP端点一样简单。见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"}"

答案 2 :(得分:0)

将通过以下方式实现此目标

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

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