【问题标题】:How to get "registration_ids" from Firebase FCM?如何从 Firebase FCM 获取“registration_ids”?
【发布时间】:2017-03-21 14:46:06
【问题描述】:

来自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"
我只能使用 FirebaseInstanceId.getInstance().getToken() 获取“注册令牌”。
所以谁能告诉我如何获得"registration_ids"

【问题讨论】:

  • registration_ids 表示 FCM 令牌。

标签: android firebase firebase-cloud-messaging


【解决方案1】:

"registration_ids" 是通过在设备上调用FirebaseInstanceId.getInstance().getToken() 获取的注册令牌数组。如果您将多个注册令牌放入数组中,则将向每个发送相同的推送通知。

如果您只想向具有registration_id4 的设备发送通知,则您的"registration_ids" 数组只需要包含一个值,如下所示:"registration_ids": ["4"]

如果您想向多个设备发送通知,请在每个设备上调用 FirebaseInstanceId.getInstance().getToken() 以获取令牌,然后使用您已有的值填充数组。

【讨论】:

  • 对不起,我还是不明白。我如何知道来自设备 A 的令牌 A 的 ID 为“4”而不是“5”或“6”?它怎么知道当我简单地输入“4”、“8”、“12”时,注册的设备是令牌 F 、 G 、 H ,这些数字不只是简单地写对了吗?我怎样才能得到这些数字?
  • 你的意思是这些数字只是例子?我们实际上必须用实际的令牌替换它们?
  • 对,这些数字在他们的例子中只是占位符。您将这些数字替换为要发送到的设备的注册令牌
  • 非常令人困惑的是,他们没有使用实际上看起来像设备令牌的东西作为占位符。然后他们也称它为不同的启动。
【解决方案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 作为值传递。

【讨论】:

    【解决方案3】:

    如果对某人来说这个问题是相关的,那么: 我尝试注册notification_Key,我需要在func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) 中进一步使用notification_key_name = uidregistration_ids = [fcmToken],并成功了

    【讨论】:

      猜你喜欢
      • 2016-10-13
      • 1970-01-01
      • 2017-11-08
      • 2023-02-20
      • 2021-04-09
      • 2016-11-20
      • 2017-03-23
      • 2019-06-29
      • 1970-01-01
      相关资源
      最近更新 更多