Firebase动态链接在Safari Swift中不起作用 [英] Firebase dynamic link doesnt work in safari swift

查看:80
本文介绍了Firebase动态链接在Safari Swift中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 firebase动态链接.我正在遇到 2个问题,firebase官方网站没有足够的信息,并且已经进行了谷歌搜索.

(1)当我以编程方式创建链接时,它不适用于野生动物园.但是如果我复制链接并在chrome或其他浏览器中将其打开,它的工作方式就像魅力.

(2)我得到了动态链接及其在chrome浏览器中的工作,而没有给出任何类型的错误.但是在Firebase控制台上,没有列出所有链接的信息,除非我使用控制台创建了动态链接,否则它将出现在控制台中.(以编程方式不会反映在控制台上)

这是我创建动态链接的代码:

let strLink = "https://google.com/page?Id="+self.textField1.text!

    guard let deepLink = URL(string: strLink) else { return }

    let components = DynamicLinkComponents(link: deepLink, domain: "e59pd.app.goo.gl")

    let iOSParams = DynamicLinkIOSParameters(bundleID: "com.procorner.eduflex")
    iOSParams.minimumAppVersion = "8.0"
    components.iOSParameters = iOSParams

    let socialParams = DynamicLinkSocialMetaTagParameters()
    socialParams.title = "Title is here..."
    socialParams.descriptionText = "Description is here"
    socialParams.imageURL = URL(string:"https://firebasestorage.googleapis.com/v0/b/todo-list-1da4a.appspot.com/o/shopping%403x.png?alt=media&token=b5f02235-5c1e-4354-94c5-1354eb36bed9")
    components.socialMetaTagParameters = socialParams

    // Build the dynamic link
    let link = components.url
     print("\n\n\n\nlink",link)
    // Or create a shortened dynamic link
    components.shorten { (shortURL, warnings, error) in
        if let error = error {
            print(error.localizedDescription)
            return
        }
        print("\n\n\nshortURL",shortURL)

        self.strGLink = (shortURL?.path)!
        self.textVIew1.text = shortURL?.absoluteString
        // TODO: Handle shortURL.
    }

解决方案

(1)请阐明如何在Safari中测试链接?除了Chrome浏览器,其他哪些浏览器也可以正常工作?还有如何在Facebook iOS App中进行测试?

如果将链接粘贴到浏览器地址栏,然后按回车键,则将无法使用. Firebase动态链接使用通用链接的原因.将链接粘贴到Safari时,通用链接将不起作用.由于 AppPreview页面,Firebase动态链接仍然可以正确处理这种情况.如果您粘贴了指向Safari的链接,则应该看到AppPreview页面.点击此处的OPEN按钮应启用通用链接并打开您的应用.

Chrome不同于iOS(和Safari)处理通用链接的方式.有人会说偏差会变好.

(2)使用API​​创建的Firebase动态链接不会显示在控制台中.

这样做的原因:我们的一些客户(例如Google相册)每天创建数百万个Firebase动态链接.试图在控制台中显示大量信息似乎不是一个好主意.尝试在控制台中使用此信息可能会很有趣.

同时,如果您有用例需要在Firebase控制台中查看所有链接,请随时打开Firebase票证或在此处发布详细信息.我们始终欢迎新功能或改进的想法.

I am using firebase dynamic link. I am facing 2 issues firebase official website doesn't have enough information and already did googling.

(1) When i created link programatically it doesn't work on safari. but if i copy link and open it in chrome or other browser its working like charm.(also doesn't working on facebook app)

(2) I got dynamic link and its working in chrome browser without giving any kind of error. but at firebase console there are no listing for that all links except if i created dynamic link by using console then it will appear in console.(programmatically doesn't reflect on console)

Here is my code for create dynamic link:

let strLink = "https://google.com/page?Id="+self.textField1.text!

    guard let deepLink = URL(string: strLink) else { return }

    let components = DynamicLinkComponents(link: deepLink, domain: "e59pd.app.goo.gl")

    let iOSParams = DynamicLinkIOSParameters(bundleID: "com.procorner.eduflex")
    iOSParams.minimumAppVersion = "8.0"
    components.iOSParameters = iOSParams

    let socialParams = DynamicLinkSocialMetaTagParameters()
    socialParams.title = "Title is here..."
    socialParams.descriptionText = "Description is here"
    socialParams.imageURL = URL(string:"https://firebasestorage.googleapis.com/v0/b/todo-list-1da4a.appspot.com/o/shopping%403x.png?alt=media&token=b5f02235-5c1e-4354-94c5-1354eb36bed9")
    components.socialMetaTagParameters = socialParams

    // Build the dynamic link
    let link = components.url
     print("\n\n\n\nlink",link)
    // Or create a shortened dynamic link
    components.shorten { (shortURL, warnings, error) in
        if let error = error {
            print(error.localizedDescription)
            return
        }
        print("\n\n\nshortURL",shortURL)

        self.strGLink = (shortURL?.path)!
        self.textVIew1.text = shortURL?.absoluteString
        // TODO: Handle shortURL.
    }

解决方案

(1) Please clarify how do you test links in Safari? What other browsers besides Chrome works correctly? Also how you test in Facebook iOS App?

If you paste link to browser address bar and hit returns, this will not work. Reason that Firebase Dynamic Links are using Universal Links. Universal Links will not engage when link is pasted to Safari. Firebase Dynamic Links will still handle this case correctly because of AppPreview page. If you pasted link to Safari, you should see AppPreview page. Tapping on OPEN button here should engage Universal Links and open your App.

Chrome deviates from a way how iOS (and Safari) handles Universal Links. Some people would say deviates to the better.

(2) Firebase Dynamic Links created using API will not show up in console.

Reasoning for this: some of our clients like Google Photos creating north of couple millions Firebase Dynamic Links per day. Trying to show this amount of information in console does not looks like good idea. Trying to consume this information in console probably will be not fun.

At the same time, if you have use case that requires you to see all your links in Firebase console, feel free to open Firebase ticket or post details here. We always open for ideas for new features or improvements.

这篇关于Firebase动态链接在Safari Swift中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆