如何在FCM通知中创build主题
我正在尝试Firebase-Notification API服务是完美的,当我从控制台发送下游消息到应用程序,但如何发送消息到主题注册用户?
我在android方面
FirebaseMessaging.getInstance().subscribeToTopic("TopicName");
但是当我尝试从控制台发送下游消息主题说
This project does not have any topics
编辑:我想到,映射主题后,需要花费1天时间才能显示在Firebase控制台中
这是一个替代path。
如果您将客户端应用程序订阅到未知主题,那么也将创build主题,而不必调用任何firebase url请求。
Firebase控制台上还需要几个小时才能显示。
通过使用谷歌共享的例子: https : //github.com/firebase/quickstart-android/tree/master/messaging你可以确认相同。
FirebaseMessaging.getInstance().subscribeToTopic("news"); Log.d(TAG, "Subscribed to news topic");
首先,假设IID_TOKEN
是您的注册令牌,并且TOPIC_NAME
是您想要创build的主题,则需要通过发出POST请求来创build主题
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
并检查您创build的主题对此URL进行GET请求
https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA?details=true
并在您的请求头文件中插入您的API_KEY
Authorization: key=YOUR_API_KEY
您的主题最多需要1天的时间才能显示在Firebase控制台中,以便进行testing,您可以进行curl请求或使用软件,如高级REST客户端
Firebase需要时间在控制台中创build新的主题。 就我而言,4个小时后创build了新的话题。
你可以用http api创build一个主题:
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
1. IID_TOKEN =设备注册令牌,你可以在你的Android设备上使用以下命令find它:
String IID_TOKEN = FirebaseInstanceId.getInstance().getToken();
2.TOPIC_NAME =新的主题名称
3.授权:key = YOUR_API_KEY 。 在标题中设置此参数。 看看截图: 通过高级rest客户端创build新的主题
YOUR_API_KEY: console.firebase.google.com
并发送请求,你会收到http状态“OK”。
然后,您可以通过以下api获取当前项目中的所有主题信息:
https://iid.googleapis.com/iid/info/IID_TOKEN?details=true
这里需要添加授权密钥的请求头,你会收到你的主题列表: 响应信息主题
我build议阅读这篇关于Google的实例ID /服务器的文章