ios - 未安装应用程序时,Firebase Dynamic链接打开Weblink而不是App Store

标签 ios swift firebase-dynamic-links

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

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)
        }
    }
}

(域,包,包和前缀由实际应用程序的数据替换)

动态链接打开link的实际内容,即打开https//my-homepage.com/product=
调试的输出显示此:

e

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

最佳答案

检查您的appStoreId。
我遇到了同样的问题,原来我用应用程序的appStoreId切换了开发人员团队ID。

关于ios - 未安装应用程序时,Firebase Dynamic链接打开Weblink而不是App Store,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59678737/

相关文章:

ios - locationForGlyphAtIndex 返回错误值

ios - UIWebView 和 page-break-* css 不适用于 Airprint

ios - 演示过程中出现错误后问题

ios - 如果没有互联网,请更改 ViewController

ios - Firebase 动态链接无法在 iOS 10 上打开应用程序

ios - 如何在 Swift 中获取任意数组的字节大小?

php - Objective-C 和 PHP 文件上传和移动

swift - Swift 的组合框组件(使用 DownPicker 失败)

Firebase 动态链接不适用于 Firebase 使用电子邮件链接登录(无密码)

android - Firebase:以编程方式剪切动态链接