Firebase.google.com iOS 中的 Firebase 动态链接(Swift)

Posted

技术标签:

【中文标题】Firebase.google.com iOS 中的 Firebase 动态链接(Swift)【英文标题】:Firebase.google.com Firebase Dynamic Links in iOS ( Swift ) 【发布时间】:2016-06-25 11:56:15 【问题描述】:

如何使用 Firebase 动态链接打开 ios 应用程序并通过 iOS 中的自定义 URL 方案向应用程序传递或获取参数(swift)? 例如:- https://q3tyj.app.goo.gl/abcd

我的 URL Scheme 在 iOS 应用的 Url Types 中是“q3tyj.app.goo.gl”。

如果我在 safari 中输入 q3tyj.app.goo.gl,我可以打开应用程序。但是,如果我在 safari 中键入带有一些额外参数的 q3tyj.app.goo.gl,例如 https://q3tyj.app.goo.gl/abcd,我将无法打开应用程序。

还请解释一下如何从 iOS 应用 (Swift) 中的动态链接中获取“链接”参数(与动态链接相关联)。

我遵循了 Firebase.google.com for iOS ( Swift ) 中提到的步骤。但它不起作用。

谢谢, 尼拉夫·维帕拉

【问题讨论】:

自定义 URL 方案是替换 https:// 而不是网站名称的位。请根据需要编辑或修复您的示例代码。 您好弗兰克,感谢您的回复。如果我设置自定义 URL 方案 = bundleid 并在浏览器中键入 bundleid:// 则应用程序已打开。但是,如果我输入 firebase 动态链接 1) 短网址:q3tyj.app.goo.gl/5yR3 或 2) 长网址:q3tyj.app.goo.gl/?link=https://photopzzlv1.firebaseio.com/…,则应用程序未打开。等待你的答复。谢谢,Nirav Virpara 你在这方面有什么收获吗?我遇到了类似的问题:(1) 从在 Chrome 中运行的 Gmail 移动网站单击的 URL:应用程序启动(在 iOS 10 上)正确并获取完整的深层链接 URL (2) 从在 Safari 中运行的 Gmail 移动网站单击的 URL:应用程序启动(在iOS 10) 正确并获得深层链接,但不是 URL (3) 从 Apple Mail 应用程序单击的 URL:应用程序正确启动(在 iOS 10 上)并获得深层链接,但不是 URL 【参考方案1】:

很难确切知道您的错误在哪里,但有几件事可以帮助您调试:

    如果您转到 https://q3tyj.app.goo.gl/apple-app-site-association,您应该会看到一些指向您的应用的 JSON。如果您没有看到此信息,请确保您已在 Firebase 控制台的项目设置中输入您的团队 ID 和 App Store ID

    确保您使用的是您的 Bundle ID,而不是短链接域,作为您在 Xcode 中的自定义 URL 方案

    确保您已在 Xcode 项目的 Capabilities 选项卡中启用 Associated Domains,并且您的域看起来像 applinks:q3tyj.app.goo.gl

    如果您直接在 Safari 地址栏中键入通用链接(因此也包括动态链接),它们通常不起作用。相反,请尝试将 URL 输入到 Notes 等应用程序中,然后从那里单击它们。

祝你好运!

【讨论】:

您好托德,感谢您的回复。正如你上面提到的,我遵循了所有步骤。只缺少一件事,那就是 App Store Id。因为我还在开发应用程序。到目前为止,我还没有在 App Store 上上传应用程序。那么,这有可能在没有 App Store ID 的情况下工作吗?当我通过浏览器打开 URL 时,它应该将我带到应用程序而不是 Firebase 控制台。等待你的回复 。谢谢,Nirav Virpara 我想将 Url 分享给其他用户,我应该使用哪个 Url? 1) 短网址:q3tyj.app.goo.gl/5yR3 或 2) 长网址:q3tyj.app.goo.gl/?link=https://photopzzlv1.firebaseio.com/… 你好托德,我的想法是用户将通过任何社交媒体与他们的朋友分享 Firebase 动态链接,朋友将获得该链接,当用户点击链接时,应用程序将打开,应用程序将解析 Firebase 链接并从 firebase 获取数据并存储在应用程序本地数据库中。等待解决我的查询。谢谢,Nirav Virpara 谢谢很多人,拯救了我的一天,从字面上看,没想到要在另一个浏览器中复制链接并使其正常工作....这意味着在测试动态链接时不要依赖 safari。 :) 我正在尝试以编程方式创建一个 firebase 动态链接,但我得到了奇怪的结果。你能读一下我的问题吗?非常感谢***.com/questions/50570676【参考方案2】:

如果您在浏览器中输入https://q3tyj.app.goo.gl/apple-app-site-association此链接并检查,您最终会看到一个 json,这意味着您的 apple-app-site-association 在您的 google 网站上已正确配置。但是,您需要确保您的 google 控制台或 appid 中的 teamid 正确。

【讨论】:

嗨,我遇到了同样的错误,如果您有解决方案,请查看下面的链接帮助我 ***.com/q/67019905/11468227

以上是关于Firebase.google.com iOS 中的 Firebase 动态链接(Swift)的主要内容,如果未能解决你的问题,请参考以下文章

Firebase IOS Google 登录:成功登录后更改视图

在 Firebase 中使用 Google 身份验证未收到电子邮件

Google Firebase Unity接入的坑

“Web”客户端类型不允许使用自定义方案 URI - Google with Firebase

iOS 应用程序的 Firebase 3.7.0 上的链接错误

在 IOS 上设置 Firebase Crashlytics