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

Flutter中APP已打开时从Firebase动态链接提取数据的方法

解决Firebase动态链接内置扫码器数据提取问题

当APP已处于打开状态时,内置扫码器扫到的Firebase动态链接只是短链本身,不会自动触发Firebase的深层解析,你需要手动调用Firebase Dynamic Links的API来解析这个短链,提取里面的跳转数据。以下分平台给出具体实现:

安卓平台

  1. 确保项目已正确集成Firebase Dynamic Links SDK
  2. 在扫码成功获取到动态链接URL后,调用SDK的解析方法:
// 假设扫码得到的链接字符串为scanLink
val uri = Uri.parse(scanLink)
FirebaseDynamicLinks.getInstance()
    .getDynamicLink(uri)
    .addOnSuccessListener { pendingDynamicLinkData ->
        // 解析成功,获取深层链接或参数
        val deepLink = pendingDynamicLinkData?.link
        deepLink?.let {
            // 这里处理深层链接,比如提取参数、跳转指定页面
            val targetPage = it.getQueryParameter("page")
            // 执行页面跳转或业务逻辑
        }
    }
    .addOnFailureListener { e ->
        // 解析失败处理
        Log.e("DynamicLink", "解析动态链接失败", e)
    }

iOS平台

  1. 确保项目已正确集成Firebase Dynamic Links SDK
  2. 在扫码成功获取到动态链接URL后,调用SDK的解析方法:
// 假设扫码得到的链接为scanURL
if let url = scanURL {
    FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(url) { dynamiclink, error in
        guard error == nil, let dynamiclink = dynamiclink, let deepLink = dynamiclink.url else {
            // 解析失败处理
            return
        }
        // 解析成功,处理深层链接
        let targetPage = deepLink.queryParameters?["page"]
        // 执行页面跳转或业务逻辑
    }
}

不管APP是处于前台活跃状态还是后台挂起状态,只要拿到动态链接的URL,通过上述方法就能解析出其中的深层数据,进而完成页面跳转或对应业务逻辑处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:39:15