我正在使用Firebase Notifications构建应用,用户可以输入他们的邮政编码,然后接收有关当地发生的特定事件的通知。
如何仅向特定用户发送通知?我已尝试将邮政编码包含在Firebase通知的高级选项部分中,但它仍会将通知发送给所有用户。
答案 0 :(得分:2)
似乎Topics就像你要找的那样。当用户输入他们的邮政编码时,您可以订阅他们的主题,例如:/ topics / zip,然后您可以从控制台发送相应的邮政编码。如果主题尚不存在,则订阅将创建主题。
注意:创建主题后,主题最多可能需要24小时才会显示在控制台中。
答案 1 :(得分:0)
您似乎正在尝试Send Notifications to a User Segment in the Firebase Console。但是,您所定位的具体细节似乎不是控制台中提供的选项。
截至目前,您可以发送的唯一可用用户细分是(这些可以在发送通知时在目标部分进行修改):
由于上述情况很清楚,我认为您只能通过特定邮政编码发送给特定用户,您应该从服务器应用程序实施推送,其中您使用相应的邮政编码收集用户配置文件,然后将消息推送到他们的注册令牌。
我认为此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)
将通过以下方式实现此目标
主题消息传递-订阅具有特定受众的主题,并使用该主题名称发送通知。
Firebase令牌-您可以在服务器上编写逻辑以将通知发送到特定的Firebase令牌ID。