我正在使用 firebase动态链接。我正面临着 2个问题 firebase官方网站没有足够的信息并且已经进行了谷歌搜索。
(1)当我以编程方式创建链接时,它不适用于safari 。但是,如果我复制链接并在Chrome或其他浏览器中打开它的工作就像魅力一样。(也没有在facebook应用程序上工作)
(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.
}
答案 0 :(得分:2)
简答: Chrome使用URI方案,Safari默认使用通用链接。这意味着您可以在Chrome中输入firebase链接,它将通过URI方案打开应用程序,但在safari中,您必须点击在firebase链接上打开应用程序,因为safari使用通用链接。
Firebase动态链接依赖于使用URI方案或通用链接来打开应用程序。 Safari默认使用通用链接,而Chrome将在安装应用程序时使用URI方案。这很重要,因为通用链接只会在点击时打开应用,而不是在地址栏中键入或以编程方式打开。要从Safari打开应用程序,您需要将其粘贴到将其注册为链接的位置,然后单击它。
我建议您使用消息或备注打开您的firebase链接,因为这样您就可以点击firebase链接来启用通用链接。
答案 1 :(得分:2)
(1)请说明如何在Safari中测试链接? Chrome以外的其他浏览器是否正常工作?你也是如何在Facebook iOS App中测试的?
如果您将链接粘贴到浏览器地址栏并点击返回,则无效。 Firebase动态链接使用通用链接的原因。链接粘贴到Safari时,Universal Links不会参与。由于AppPreview page,Firebase动态链接仍会正确处理此案例。如果您将链接粘贴到Safari,则应该会看到AppPreview页面。点击此处的OPEN
按钮应启用Universal Links并打开您的应用。
Chrome偏离了iOS(和Safari)处理Universal Links的方式。有些人会说偏差越来越好。
(2)使用API创建的Firebase动态链接不会显示在控制台中。
推理:我们的一些客户像Google相册每天创建数百万Firebase动态链接。试图在控制台中显示这些信息并不是一个好主意。试图在控制台中使用这些信息可能不会很有趣。
同时,如果您的用例需要您在Firebase控制台中查看所有链接,请随时打开Firebase票证或在此处发布详细信息。我们始终对新功能或改进的想法持开放态度。