Firebase动态链接无法打开iOS应用

kal*_*deo 27 ios firebase firebase-dynamic-links

我已在我的设备上本地开发并安装了iOS应用程序.

并在info.plist中设置了自定义方案 mydlink

将关联域设置为weel: applinks:<myapp>.app.goo.gl

在firebase上创建动态链接:

https://<myapp>.app.goo.gl/?link=http://<mysite.com>/&ibi=<app bundle id>&ius=mydlink&ifl=https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id%3D<app store id>%26mt%3D8&pt=<app store id>
Run Code Online (Sandbox Code Playgroud)

当我打开或点击动态链接时,它会在"App Store"应用程序中打开应用程序页面,而不是在安装时打开应用程序本身.

我在这里错过了什么?

Hei*_*sch 15

如果您使用的是iOS 9,则将使用通用链接.通用链接在很多情况下都不起作用,例如:

  • 如果您使用模拟器
  • 如果您尝试直接在设备上的safari中打开链接(在浏览器的地址字段中键入)

我花了很多时间尝试这个并且永远无法以可靠的方式在模拟器上工作.我最终做的是通过电子邮件将链接发送给我并从收件箱中打开它.然后它每次都有效!

  • 试图打开与iMessage的链接,但它仍然无法正常工作 (3认同)

pro*_*ace 11

有时我们会在关联域权限中出错。必须没有空格

applinks:mydomain.page.link
Run Code Online (Sandbox Code Playgroud)


Tai*_* Le 11

我犯了一个错误,没有为调试设置关联域,因此请确保设置所有调试和发布的关联域

在此输入图像描述


iam*_*arm 8

对于迟到的回复,我很抱歉 - 我希望您的问题已得到解决,这对可能遇到同样问题的其他人有帮助.

iOS 9+实际上可能存在一个或多个问题; Dynamic Links依靠Apple的Universal Links在iOS 9+上打开应用程序,这些建议旨在解决Universal Links和Firebase的问题,并且与SDK直接无关.

  1. 通过https:// app_id .app.goo.gl/apple-app-site-association验证关联文件是否正确- 它应该类似于https://maps.app.goo.gl/apple-app-site -association但"细节"中只有一个元素.
  2. 正如另一个答案所指出的,请验证您的团队ID是否已在Firebase控制台中正确设置.
  3. 如果您长按链接然后单击"在Safari中打开"或者在应用程序通过通用链接打开后单击应用状态栏上的"goo.gl>"按钮,则iOS默认为打开Safari中的通用链接.这可以通过下拉Safari中打开的分页并单击智能横幅上的"在应用程序中打开"(或类似)来解决.

"ibi"参数不参与在iOS 9+上的安装后点击中打开应用程序,但在未设置"ius"参数时处于先前版本.

关于iOS 8,您可以尝试运行应用程序,然后在安装应用程序后单击链接吗?在iOS 9之前的版本中,您可以通过将链接复制/粘贴到safari中进行测试.

https://firebase.google.com/docs/dynamic-links/ios


kin*_*g_T 8

以防万一仍有人遇到此问题,请注意以下事项

  1. 动态链接现在在模拟器上打开,请随意复制您的链接并粘贴到模拟器中的 safari。
  2. Chrome 和 safari 的动态打开方式不同,safari 只使用通用链接,而 chrome 使用 url scheme 和通用链接打开动态链接。最终,您应该尝试通过应用程序中的通用链接打开动态链接。

  3. 如果您的动态链接路由到 App Store 而不是打开您的应用程序。您的通用链接有问题。您可以暂时使用chrome进行测试。

    要设置通过通用链接打开动态链接,请检查以下内容

    • 确保您的团队 id 设置正确 在 firebase 控制台中,从https://developer.apple.com 中的会员详细信息中获取您的团队 id

    • 确保您的域列在您的关联域中,如下所示,域之间没有空格 在此处输入图片说明

    • 确保在您的苹果开发者帐户中开启了关联域 在此处输入图片说明

    • 如果您使用的是自定义域,请确保将其添加到 info.plist 中,如下所示。在此处输入图片说明


小智 7

我遇到了同样的问题。有趣的是,如果您在 Chrome 中打开动态链接,应用程序将直接成功启动。但是在 Safari 中,尽管安装了该应用程序,它还是会尝试打开 AppStore。我不知道为什么 Safari 在这种情况下不起作用。


小智 6

如果上述解决方法均不适合您,请检查您是否已在关联域中添加了 ActivityContination。

下图显示了您必须添加该内容的确切位置(如果您还没有这样做)

  • 为什么我们要在关联域中添加相同的内容?请解释。 (3认同)

Vik*_*toR 5

我在使用 iOS 14 时遇到问题,在调试模式下在设备上运行。Link 总是将我重定向到 AppStore 应用程序而不是我的应用程序。解决方案是在 iPhone Settings>Developer>Associated Domains Development 上启用“Associated Domains Development”(在此处找到:https : //stackoverflow.com/a/63939770/6689321)。 设置 开发商


Sat*_*lsa -1

确保您在 firebase 控制台中为您的应用程序设置了团队 ID。(然后您需要下载并导入 .plist 文件)。

这解决了我的问题。