如何从设备订阅 firebase 云消息传递中的主题

How to subscribe to a topic in firebase cloud messaging from device

如何通过设备订阅 firebase 上的主题, 早些时候它曾经像

一样简单
 FirebaseMessaging.getInstance().subscribeToTopic(topic)
        .addOnCompleteListener { task ->
}

现在功能已更改为

public TopicManagementResponse subscribeToTopic(@NonNull List<String> registrationTokens,
      @NonNull String topic) throws FirebaseMessagingException {
    return subscribeOp(registrationTokens, topic).call();
  }

其中有一个带有注册令牌的额外参数... 如何使用最新代码从设备订阅主题??

您似乎在为服务器端 Java 代码使用 Admin SDK。此 SDK 应仅在受信任的环境中使用,例如您的开发机器、您控制的服务器或 Cloud Functions。在客户端 Android 代码中使用 Admin SDK 存在安全风险,因为它允许恶意用户获得对您的 Firebase 项目的管理权限。

解决方案是遵循 subscribing to a topic 上 Android 开发人员的文档。当您这样做时,代码应如下所示:

FirebaseMessaging.getInstance().subscribeToTopic("weather")