未安装应用时,Firebase 动态链接会打开 Weblink 而不是 App Store

Posted

技术标签:

【中文标题】未安装应用时,Firebase 动态链接会打开 Weblink 而不是 App Store【英文标题】:Firebase Dynamic link opens Weblink instead of App Store when app is not installed 【发布时间】:2020-01-10 09:24:29 【问题描述】:

我正在使用 Firebase 动态链接通过邮件发送信息。 当我在安装应用程序时尝试打开它们时,这些链接有效。 但是,当未安装应用程序时,它们无法正常工作。 当我在未安装应用程序的情况下打开链接时,他们会打开我的主页,更准确地说是实际链接。 我的代码在这里:

static func generateDynamicLinkFromProduct(product: Product, completion: @escaping (URL?) -> Void) 
    let domain = "https://my-homepage.com/"
    let bundleID = Bundle.main.bundleIdentifier
    var package = "my.app.on.android"
    let meta = product.metaJson!
    guard let link = URL(string: domain + "product=" + meta) else 
        completion(nil)
        return
    
    let dynamicLinksDomainURIPrefix = "https://myapp.page.link"
    let linkBuilder = DynamicLinkComponents(link: link, domainURIPrefix: dynamicLinksDomainURIPrefix)
    linkBuilder?.iosParameters = DynamicLinkIOSParameters(bundleID: bundleID!)
    linkBuilder?.iOSParameters?.appStoreID = "APP_STORE_ID"
    linkBuilder?.navigationInfoParameters = DynamicLinkNavigationInfoParameters()
    linkBuilder?.navigationInfoParameters?.isForcedRedirectEnabled = true
    linkBuilder?.androidParameters = DynamicLinkAndroidParameters(packageName: package)
    let options = DynamicLinkComponentsOptions()
    options.pathLength = .short
    linkBuilder?.options = options
    let longLink = linkBuilder?.url
    print(longLink)
    linkBuilder?.shorten()  url, warnings, error in
        print(url)
        if (error == nil) 
            completion(url)
         else 
            completion(nil)
        
    

(domain、bundle、package和prefix替换为实际应用的数据)

动态链接打开link的实际内容,即打开https//my-homepage.com/product=

调试的输出显示如下:

€dit: 生成的长链接包含isiibi参数

【问题讨论】:

【参考方案1】:

检查您的 appStoreId。

我遇到了同样的问题,结果我用我的应用程序的 appStoreId 切换了我的开发团队 ID。

【讨论】:

你能展示如何获取 id 以及我可以将 id 放在哪里以及哪个 id 我也有同样的错误,从应用程序商店安装时应用程序无法运行,否则应用程序运行完美跨度>

以上是关于未安装应用时,Firebase 动态链接会打开 Weblink 而不是 App Store的主要内容,如果未能解决你的问题,请参考以下文章

如果应用程序未以编程方式安装 firebase 动态链接,则重定向到 iOS App Store

冷启动 iOS 14 时未处理 iOS Firebase 动态链接

未启动应用程序时 Firebase 动态链接不起作用

测试未发布应用的 Firebase 动态链接

Flutter Firebase 动态链接不适用于新的 ios 应用安装

应用不在后台时无法识别 Firebase 动态链接 (iOS)