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

如何用新版Firebase Admin SDK实现FCM通知深度链接?为何无link参数?

移除核心原因

Firebase团队在新版SDK中砍掉link/link_android这类直接参数,核心目的是统一跨平台深度链接的实现逻辑,主推Firebase Dynamic Links作为官方标准方案。这样能让Android、iOS、Web多端拥有一致的链接跳转体验,避免各平台参数碎片化带来的维护成本,同时解决旧参数仅能嵌入链接、缺乏链路追踪、平台适配、回退页配置等进阶能力的问题。

更简洁的官方替代方案

你当前基于逆向工程的实现依赖FCM内部私有字段,存在版本兼容风险,推荐改用官方支持的Dynamic Links方案,配置更简洁且稳定性更高:

Firebase Admin SDK(Python)代码

messaging.send(messaging.Message(
    notification=messaging.Notification(
        title='test title',
        body='test body',
    ),
    android=messaging.AndroidConfig(
        notification=messaging.AndroidNotification(
            click_action='OPEN_DYNAMIC_LINK'
        )
    ),
    data={
        'dynamic_link': 'https://your-domain.page.link/xxx'
    },
    token='.....',
))

Android客户端处理

无需重写handleIntent,只需在AndroidManifest中为目标Activity配置Intent Filter:

<intent-filter>
    <action android:name="OPEN_DYNAMIC_LINK" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

再在目标Activity中解析深度链接:

FirebaseDynamicLinks.getInstance()
    .getDynamicLink(intent)
    .addOnSuccessListener(this) { pendingDynamicLinkData ->
        pendingDynamicLinkData?.link?.let { deepLink ->
            // 执行深度链接跳转逻辑
        }
    }

注意事项

你当前的逆向方案依赖FCM内部私有字段gcm.notification.click_action,后续FCM库更新可能修改或移除该字段,导致功能失效,建议尽快迁移到官方方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:55:21