Firebasedynamic链接不适用于Safari浏览器

我正在使用Firebasedynamic链接 。 我面临2个问题 firebase官方网站没有足够的信息,并已经做了谷歌search。

(1)当我编程创build链接它不适用于Safari浏览器 。 但如果我复制链接,并在铬或其他浏览器中打开它的工作像魅力(也不工作在Facebook应用程序)

(2)我得到了dynamic链接,并在铬浏览器中工作,没有任何forms的错误。 但在firebase控制台没有列出的所有链接,除非我使用控制台创builddynamic链接,那么它会出现在控制台。 (以编程方式不在控制台上反映)

这里是我创builddynamic链接的代码:

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)请说明如何testingSafari中的链接? 除Chrome之外的其他浏览器还能正常工作吗? 另外你如何在Facebook的iOS应用程序testing?

如果你粘贴链接到浏览器的地址栏,并返回,这将无法正常工作。 Firebasedynamic链接使用通用链接的原因。 将链接粘贴到Safari时,Universal Links不会启用。 由于AppPreview页面的原因,Firebasedynamic链接仍然会正确处理这种情况。 如果您将链接粘贴到Safari,则应该看到AppPreview页面。 在这里点击OPENbutton应该使用Universal Links并打开你的应用程序。

Chrome偏离iOS(和Safari)处理Universal Links的方式。 有些人会说偏差越来越好。

(2)使用API​​创build的Firebasedynamic链接不会显示在控制台中。

推理是这样的:我们的一些客户,例如Google Photos,每天创build数以百万计的Firebasedynamic链接。 试图在控制台中显示这个数量的信息看起来不是个好主意。 试图在控制台中使用这些信息可能不会很有趣。

同时,如果您的使用案例要求您查看Firebase控制台中的所有链接,请随时打开Firebase门票或在此处发布详细信息。 我们总是打开新function或改进的想法。

简短回答: Chrome使用URIscheme,Safari默认为通用链接。 这意味着您可以在Chrome中键入Firebase链接,并通过URIscheme打开应用,但在Safari浏览器中,您必须点击 Firebase链接才能打开应用,因为Safari使用的是通用链接。

说明

Firebasedynamic链接依赖于使用URIscheme或通用链接来打开应用程序。 Safari默认使用通用链接,而Chrome将在安装应用程序时使用URIscheme。 这一点很重要,因为通用链接只有在点击才能打开应用程序 ,而不是通过input地址栏或以编程方式打开。 要从Safari打开应用程序,您需要将其粘贴到某个地方,将其注册为链接,然后单击它。

我build议使用消息或笔记打开您的Firebase链接,因为这将允许您点击Firebase链接来启用通用链接。