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

FCM应用卸载后未退订主题的消息发送问题咨询

FCM主题订阅与卸载用户消息发送问题

我的应用支持用户点击按钮订阅FCM主题以接收通知,也可点击按钮退订主题。现咨询以下场景:10000名用户安装应用并订阅主题,其中2000名用户未退订主题便直接卸载应用。当开发者通过服务器向该主题发送FCM数据负载时:

  1. Firebase是否会识别这2000名已卸载应用的用户,不再向他们发送消息?
  2. Firebase是否仍会尝试发送并产生错误?开发者是否需要手动为这些用户退订以减少错误和Firebase负载,还是Firebase会自动处理?目前我的应用未在服务器存储客户端Firebase Token。

解答

  • 问题1解答:Firebase会自动识别已卸载应用的用户,不会向他们发送消息。FCM会持续维护设备令牌的有效性,用户卸载应用后,对应的设备令牌会被标记为无效,后续发送主题消息时会自动跳过这些无效令牌。
  • 问题2解答:Firebase不会反复尝试向无效令牌发送消息,也不会产生大量无用错误。FCM内置了令牌状态跟踪机制,当检测到令牌无效(比如因卸载导致的消息送达失败),会自动将该令牌从主题订阅列表中移除,开发者完全不需要手动为这类用户退订,即便服务器没有存储客户端Firebase Token也不影响。

订阅主题示例代码

FirebaseMessaging.getInstance().subscribeToTopic("topicname")
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                String msg = "Subscribed";
                if (!task.isSuccessful()) {
                    msg = "Subscribe failed";
                }
                Log.d(TAG, msg);
                Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
            }
        });

内容的提问来源于stack exchange,提问作者jnet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:55:32