我开发了&在我的设备上本地安装了iOS应用程序。
并将info.plist中的自定义方案设置为browser.executeScript("document.querySelector('.ag-body-viewport').scrollTo(0, 0);");
将相关域设置为weel:mydlink
在firebase上创建动态链接:
applinks:<myapp>.app.goo.gl
当我打开或点击动态链接时,它会在&#34; App Store&#34;中打开应用页面。应用程序,但不会打开应用程序本身虽然已安装。
我在这里缺少什么?
答案 0 :(得分:11)
如果您使用的是iOS 9,则会使用通用链接。通用链接在很多情况下都不起作用,例如:
我花了很多时间尝试这个并且永远无法以可靠的方式在模拟器上工作。我最终做的是通过电子邮件将链接发送给我并从收件箱中打开它。然后它每次都有效!
答案 1 :(得分:7)
我很抱歉迟到的回复 - 我希望您的问题已经解决,这对其他可能遇到同样问题的人有帮助。
iOS 9+实际上可能存在一个或多个问题; Dynamic Links依靠Apple的Universal Links在iOS 9+上打开应用程序,这些建议旨在解决Universal Links和Firebase的问题,并直接与SDK无关。
&#34; ibi&#34;在iOS 9+上的安装后点击中打开应用程序不参与参数,但是在&#34; ius&#34; param未设置。
关于iOS 8,您可以尝试运行应用程序,然后在安装应用程序后单击链接吗?在iOS 9之前的版本中,您可以通过将链接复制/粘贴到safari中进行测试。
答案 2 :(得分:4)
我在使用 iOS 14 时遇到问题,在调试模式下在设备上运行。 Link 总是将我重定向到 AppStore 应用程序而不是我的应用程序。 解决方案是在 iPhone Settings>Developer>Associated Domains Development 上启用“Associated Domains Development” (在这里找到: https://stackoverflow.com/a/63939770/6689321 )。
答案 3 :(得分:3)
我遇到了同样的问题。有趣的是,如果您在Chrome中打开动态链接,应用会直接成功启动。但在Safari中,尽管安装了应用程序,它仍会尝试打开AppStore。我不知道为什么Safari在这种情况下不起作用。
答案 4 :(得分:3)
有时,我们在关联域权利中犯了一个错误。不得有空格
applinks:mydomain.page.link
答案 5 :(得分:3)
以防万一还有人遇到这个问题,请注意以下内容
Chrome和safari打开动态链接的方式有所不同,safari仅使用通用链接,而chrome使用url方案和通用链接来打开动态链接。最终,您应该尝试通过应用程序中的通用链接来打开动态链接。
如果您的动态链接路由到App Store而不是打开您的应用程序。您的通用链接存在问题。您可以暂时使用chrome测试。
要通过通用链接设置打开动态链接,请检查以下内容
确保正确设置您的团队ID在Firebase控制台中,从https://developer.apple.com
答案 6 :(得分:2)
由于Firebase在设置过程中的假设存在问题,Firebase动态链接对我们(在iOS9上使用通用链接)不起作用。以下是我们在应用上解决问题的方法:
Firebase在将您的iOS应用添加到Firebase控制台项目设置时会询问您的“团队ID”,并假设您的唯一应用ID将采用TeamID.com.foo.bar格式
但是,在我们的情况下,这不是我们唯一的应用ID。当我查看我们的配置文件时(在developer.apple.com上我找到了我们的配置文件并单击了“编辑”),我看到我们唯一的应用程序ID实际上是SomethingElse.com.foo.bar
我必须进入Firebase控制台,并在要求提供团队ID的位置输入“SomethingElse”,即使这不是我们的团队ID。完成更改后,Firebase动态链接开始正常运行。
Firebase似乎假设您的唯一应用ID始终以您的团队ID开头,显然并非总是如此。
请注意,更改团队ID可能需要很长时间才能生效。您可以通过检查app_id(https://app_id.app.goo.gl/apple-app-site-association)的相应链接来查看更改已发生。
答案 7 :(得分:2)
遇到同样的问题。
对我来说,解决方案是使用
标识符->应用ID->'my.app.ID'->前缀
您可以在https://developer.apple.com/account/ios/identifier/bundle
上找到它代替我使用的'DevelopmentTeam'
中的.pbxproj
号,并将其添加到Firebase控制台中的iOS应用的Team ID
中。
别忘了下载并向项目添加新的.plist。
答案 8 :(得分:1)
在safari中打开链接时,会显示&#34;打开(项目名称)&#34;按钮。如果按下此按钮2-3秒,它会要求首次打开不同的应用程序。它还会显示您的应用程序名称。如果您选择了应用,则会打开您的应用。如果您再次打开此链接并在Safari中按下按钮,它总是正常工作。
这解决了我的问题。
答案 9 :(得分:1)
大家好,我有一个很棒的新人。
我总是听到它不可能在模拟器上测试动态链接。
但是我们发现了这一点,现在我们可以在模拟器上测试firebase动态链接
答案 10 :(得分:0)
如果你确定你在 xcode 中的所有动态链接配置都是正确的,链接是好的,但它仍然打开 Appstore,你可以试试这个技巧:
答案 11 :(得分:0)
确保您在firebase控制台中为您的应用设置了团队ID。 (然后您需要下载并导入.plist文件)。
这解决了我的问题。
答案 12 :(得分:0)
我遇到了问题,AASA 文件在不同的位置不同
[domain]/.well-known/apple-app-site-association
[domain]/apple-app-site-association
来自分支的验证器总是检查非已知路径上的文件。这很令人困惑,因为它总是说一切都很好,即使不是。
对于 Firebase,请检查您的主机并在公共目录中搜索 .well-known 文件夹。就我而言,我可以删除它,运行 firebase deploy --only hosting
并让 Firebase 为我生成所有 AASA 文件。
答案 13 :(得分:0)
答案 14 :(得分:0)
我在使用最新的flutter sdk和firebase动态链接插件时遇到了同样的问题。
尝试了所有解决方案,唯一的解决方法是将 com.apple.developer.associated-domains 密钥手动插入到 ios / Runner / Running.entitlements 文件
(context.resources.displayMetric.width / 3).toInt()
答案 15 :(得分:0)
答案 16 :(得分:0)
我们有类似的问题。在我们的案例中,问题在于生成带有链接的电子邮件的软件生成了一个新链接,该链接具有304重定向到我们的深层链接。这不适用于Safari(但适用于Chrome)。
当您单击电子邮件中的链接时,检查深层链接实际上是第一个打开的链接。
答案 17 :(得分:0)
答案 18 :(得分:0)
在集成Firebase动态链接后,示例链接立即开始在iOS 8设备上运行。对于iOS 9设备,使用通用链接机制,如其他答案所述。这意味着Apple需要更新用于验证深层链接双重身份验证的权利数据。根据Apple的App Search API Validation Tool,这可能需要48小时。
还有更多通用链接疑难解答提示here。