Zyo*_*yoo 7 android firebase google-cloud-messaging firebase-cloud-messaging
我希望能够在我的Android应用程序中添加多个发件人ID.
来自https://developers.google.com/cloud-messaging/concept-options
GCM允许多方向同一客户端应用程序发送消息.例如,假设客户端应用程序是具有多个贡献者的文章聚合器,并且每个人都应该能够在发布新文章时发送消息.此消息可能包含URL,以便客户端应用程序可以下载该文章.GCM不必将所有发送活动集中在一个位置,而是让您能够让每个贡献者发送自己的消息.
如何使用google-services.json配置文件实现这一目标?
更新:要参考官方和推荐的方式,而不是采用hacky和非官方方法来防止/避免未知问题.从我在这里的回答.
实际上,文档中有关于此主题的部分内容:
接收来自多个发件人的邮件
FCM允许多方向同一客户端应用程序发送消息.例如,假设客户端应用程序是具有多个贡献者的文章聚合器,并且每个人都应该能够在发布新文章时发送消息.此消息可能包含URL,以便客户端应用程序可以下载该文章.FCM不必将所有发送活动集中在一个位置,而是让您能够让每个贡献者发送自己的消息.
为了实现这一点,请确保每个发件人都生成自己的发件人ID.有关如何获取FCM发件人ID的信息,请参见所用平台的客户端文档.请求注册时,客户端应用程序会多次提取令牌,每次在受众群体字段中使用不同的发件人ID.
最后,与相应的应用服务器共享注册令牌(以完成FCM注册客户端/服务器握手),他们将能够使用自己的身份验证密钥向客户端应用程序发送消息.
请注意,限制为100个多个发件人.
我认为这里令人困惑但重要的部分是:
请求注册时,客户端应用程序会多次提取令牌,每次在受众群体字段中使用不同的发件人ID.
换句话说,您必须调用getToken()传递发件人ID并简单地"FCM"(例如getToken("2xxxxx3344", "FCM"))作为参数.您必须确保为所需的每个发件人(项目)调用此方法.
另外,请注意以下getToken()文档:
这是一个阻塞函数,所以不要在主线程上调用它.
一些额外的好消息: