长链接不可解析 - iOS 上的 Firebase 动态链接

Posted

技术标签:

【中文标题】长链接不可解析 - iOS 上的 Firebase 动态链接【英文标题】:Long link is not parsable - Firebase Dynamic Links on iOS 【发布时间】:2018-02-17 14:10:24 【问题描述】:
let components = DynamicLinkComponents(link: url, domain: "nau6x.app.goo.gl")
// other settings
let options = DynamicLinkComponentsOptions()
options.pathLength = .short
components.options = option
components.shorten(completion:  (url, warnings, error) in
    if let error = error 
        fatalError(error.localizedDescription)
    
    // handle url
)

应用程序在fatalError 行崩溃并显示以下消息:“操作无法完成。长链接不可解析”

【问题讨论】:

我面临同样的问题“操作无法完成。长链接无法解析:wn2d8.app.goo.gl/?link=eMedicoz [firebase.google.com/docs/dynamic-links/…” 【参考方案1】:

我发现我的 uriPrefix 末尾有一个 /,这导致 ios 出现问题(使用 Flutter)

【讨论】:

救了我的命 :) 感谢您的回答:"uriPrefix: 'htps://xxx.xxx.link/'," 到 "uriPrefix: 'htps://xxx.xxx.link',"【参考方案2】:

不久前我也遇到过同样的情况。是url参数导致错误。

在你的第一行,

let components = DynamicLinkComponents(link: url, domain: "nau6x.app.goo.gl")

您需要确保“url”必须以“http://”或“https://”开头。 希望对您有所帮助。

【讨论】:

【参考方案3】:

我用以下代码创建了短链接:

func createShortUrl(urlString:String)
    guard let link = URL(string: urlString) else  return 
    let components = DynamicLinkComponents(link: link, domain: "ubg36.app.goo.gl")
    let options = DynamicLinkComponentsOptions()
    options.pathLength = .short
    components.options = options
    components.shorten(completion:  (url, warnings, error) in
        if let error = error 
            print(error.localizedDescription)
        
        print(url?.absoluteString)
    )

请记住,链接 url 应该以 http:// 或 https:// 开头

希望,它会有所帮助。

【讨论】:

【参考方案4】:

我在 android 上遇到了这个问题。 在构建链接时将 setDynamicLinkDomain(dynamicLinksDomain) 替换为 setDomainUriPrefix(dynamicLinksDomain) 就可以了。

【讨论】:

以上是关于长链接不可解析 - iOS 上的 Firebase 动态链接的主要内容,如果未能解决你的问题,请参考以下文章

ios中的Firebase动态短链接返回null但长动态链接有效

如何以编程方式在 Firebase 中创建动态链接?迅速

UITextView带有可点击链接但没有文字突出显示

iOS 上的 Firebase 动态链接有时会失败

Unity 2020 和 Firebase 上的问题(无法解析参考“UnityEditor.iOS.Extensions.Xcode”)

iOS 上的 Firebase 邀请 - 如何从通用链接获得邀请?