从FCM documentation这里告诉我如何向设备组发送消息,因此我发送了以下内容:
https://android.googleapis.com/gcm/notification
Content-Type:application/json
Authorization:key=API_KEY
project_id:SENDER_ID
{
"operation": "create",
"notification_key_name": "appUser-Chris",
"registration_ids": ["4", "8", "15", "16", "23", "42"]
}
但是,我没有发现有任何明确的解释告诉我如何从Firebase FCM获取"registration_ids"
。我只能获得#34;注册令牌&# 34;使用FirebaseInstanceId.getInstance().getToken()
。所以任何人都可以告诉我如何获得"registration_ids"
?
答案 0 :(得分:12)
"registration_ids"
是通过在设备上调用FirebaseInstanceId.getInstance().getToken()
获取的注册令牌数组。如果在阵列中放置多个注册令牌,则会向每个令牌发送相同的推送通知。
如果您只想向registration_id
4
"registration_ids"
的设备发送通知,则您的"registration_ids": ["4"]
数组只需包含一个值,如下所示:FirebaseInstanceId.getInstance().getToken()
如果要向多个设备发送通知,请在每个设备上调用{{1}}以获取令牌,然后使用您已有的值填充数组。
答案 1 :(得分:2)
您提供的示例请求:
https://android.googleapis.com/gcm/notification
Content-Type:application/json
Authorization:key=API_KEY
project_id:SENDER_ID
{
"operation": "create",
"notification_key_name": "appUser-Chris",
"registration_ids": ["4", "8", "15", "16", "23", "42"]
}
用于创建设备组。
registration_ids
参数是指您要在该特定设备组中添加的Registration Tokens。形容为:
FCM SDK为每个客户端应用实例生成的ID。单个设备和设备组消息传递所必需的。请注意,注册令牌必须保密。
这意味着它是在客户端应用程序端生成的,并充当该特定设备的标识符(客户端应用程序实例)。
要将下游消息发送到设备组,只需使用to
参数:
此参数指定邮件的收件人。
值可以是设备的注册令牌,设备组的通知密钥,也可以是单个主题(以/ topics /为前缀)。要发送到多个主题,请使用条件参数。
将notification_key
作为值传递。
答案 2 :(得分:0)
如果该问题与某人相关,则:
我尝试注册notification_Key
,我需要在notification_key_name = uid
中与registration_ids = [fcmToken]
和func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String)
进行进一步的使用,并成功完成了