You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在设备端通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:36:05