如何在设备端通过Firebase Cloud Messaging最新版本订阅主题
首先纠正一个常见的认知误区:你贴的带registrationTokens参数的subscribeToTopic接口是Firebase Admin服务端SDK的接口,原本就不是给设备端调用的,设备端的主题订阅接口并没有发生变更,你之前熟悉的调用方式依然可用。
设备端订阅主题的最新实现(Android端示例)
Kotlin写法:
FirebaseMessaging.getInstance().subscribeToTopic("自定义主题名") .addOnCompleteListener { task -> if (task.isSuccessful) { // 订阅成功后续处理 } else { // 订阅失败后续处理 } }
Java写法:
FirebaseMessaging.getInstance().subscribeToTopic("自定义主题名") .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { // 订阅成功后续处理 } else { // 订阅失败后续处理 } } });
你贴的新接口的使用场景说明
这个接口仅用于服务端批量给指定设备订阅主题,需要传入目标设备的注册token列表,服务端Java示例如下:
List<String> tokens = Arrays.asList("设备1的注册token", "设备2的注册token"); String targetTopic = "目标主题"; try { TopicManagementResponse resp = FirebaseMessaging.getInstance().subscribeToTopic(tokens, targetTopic); // 打印订阅结果 System.out.printf("成功订阅:%d台,失败:%d台%n", resp.getSuccessCount(), resp.getFailureCount()); } catch (FirebaseMessagingException e) { // 异常处理 e.printStackTrace(); }
内容的提问来源于stack exchange,提问作者Pemba Tamang
相关产品推荐
相关产品推荐

