如何在 FCM 通知中创建主题
How To Create Topic in FCM Notifications
我正在尝试 Firebase-Notification API 当我从控制台向应用程序发送下游消息时,该服务运行良好,但如何向主题注册用户发送消息?
我在 android 边做了
FirebaseMessaging.getInstance().subscribeToTopic("TopicName");
但是当我尝试将下游消息从控制台发送到主题时它说
This project does not have any topics
编辑:
我发现在映射主题后最多需要 1 天时间才能显示在 Firebase 控制台中
首先,鉴于IID_TOKEN
是您的注册令牌,TOPIC_NAME
是您要创建的主题,您需要通过制作POST来创建主题 请求
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
要检查您创建的主题,请在此 URL
上发出 GET 请求
https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA?details=true
并在您的请求中插入您的 API_KEY HEADERS
Authorization: key=YOUR_API_KEY
您的主题最多需要 1 天 才能显示在 Firebase 控制台中,因此为了进行测试,您可以发出 curl 请求或使用像 Advanced REST client[=16= 这样的软件]
这是备用路径。
如果您为客户端应用订阅了一个不存在的主题,那么该主题也将被创建,而无需调用任何 firebase url 请求。
它还需要几个小时才能显示在 Firebase 控制台上。
通过使用 google 共享示例:https://github.com/firebase/quickstart-android/tree/master/messaging 您可以确认相同。
FirebaseMessaging.getInstance().subscribeToTopic("news");
Log.d(TAG, "Subscribed to news topic");
Firebase 需要时间在控制台中创建新主题。就我而言,新主题是在 4 小时后创建的。
您可以使用 http 创建主题 api:
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
1. IID_TOKEN = 设备注册令牌,您可以在 android 设备上使用以下命令找到它:
String IID_TOKEN = FirebaseInstanceId.getInstance().getToken();
2.TOPIC_NAME = 新建主题名称
3.Authorization:键=YOUR_API_KEY。在 header 中设置此参数。看截图:
Creating new topic via Advanced rest client
YOUR_API_KEY:
console.firebase.google.com
并发送请求,您将收到 http 状态 "OK"。
然后您可以通过以下 api 获取有关您当前项目中所有主题的信息:
https://iid.googleapis.com/iid/info/IID_TOKEN?details=true
此处需要将授权密钥添加到请求的 header,您将收到您的主题列表:response info topics
I recommend read this article about Instance ID/Server by Google
我正在尝试 Firebase-Notification API 当我从控制台向应用程序发送下游消息时,该服务运行良好,但如何向主题注册用户发送消息?
我在 android 边做了
FirebaseMessaging.getInstance().subscribeToTopic("TopicName");
但是当我尝试将下游消息从控制台发送到主题时它说
This project does not have any topics
编辑: 我发现在映射主题后最多需要 1 天时间才能显示在 Firebase 控制台中
首先,鉴于IID_TOKEN
是您的注册令牌,TOPIC_NAME
是您要创建的主题,您需要通过制作POST来创建主题 请求
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
要检查您创建的主题,请在此 URL
上发出 GET 请求 https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA?details=true
并在您的请求中插入您的 API_KEY HEADERS
Authorization: key=YOUR_API_KEY
您的主题最多需要 1 天 才能显示在 Firebase 控制台中,因此为了进行测试,您可以发出 curl 请求或使用像 Advanced REST client[=16= 这样的软件]
这是备用路径。
如果您为客户端应用订阅了一个不存在的主题,那么该主题也将被创建,而无需调用任何 firebase url 请求。
它还需要几个小时才能显示在 Firebase 控制台上。
通过使用 google 共享示例:https://github.com/firebase/quickstart-android/tree/master/messaging 您可以确认相同。
FirebaseMessaging.getInstance().subscribeToTopic("news");
Log.d(TAG, "Subscribed to news topic");
Firebase 需要时间在控制台中创建新主题。就我而言,新主题是在 4 小时后创建的。
您可以使用 http 创建主题 api:
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
1. IID_TOKEN = 设备注册令牌,您可以在 android 设备上使用以下命令找到它:
String IID_TOKEN = FirebaseInstanceId.getInstance().getToken();
2.TOPIC_NAME = 新建主题名称
3.Authorization:键=YOUR_API_KEY。在 header 中设置此参数。看截图: Creating new topic via Advanced rest client
YOUR_API_KEY: console.firebase.google.com
并发送请求,您将收到 http 状态 "OK"。
然后您可以通过以下 api 获取有关您当前项目中所有主题的信息:
https://iid.googleapis.com/iid/info/IID_TOKEN?details=true
此处需要将授权密钥添加到请求的 header,您将收到您的主题列表:response info topics
I recommend read this article about Instance ID/Server by Google