Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase动态链接未打开应用程序iOS_Ios_Firebase_Firebase Dynamic Links - Fatal编程技术网

Firebase动态链接未打开应用程序iOS

Firebase动态链接未打开应用程序iOS,ios,firebase,firebase-dynamic-links,Ios,Firebase,Firebase Dynamic Links,我已经在我的设备上本地开发并安装了一个iOS应用程序 并且在info.plist中将自定义方案设置为mydlink 将关联域设置为weel:applinks:.app.goo.gl 在firebase上创建的动态链接为: https://<myapp>.app.goo.gl/?link=http://<mysite.com>/&ibi=<app bundle id>&ius=mydlink&ifl=https://itunes.appl

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

并且在info.plist中将自定义方案设置为
mydlink

将关联域设置为weel:
applinks:.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>
https://.app.goo.gl/?link=http:///&ibi=&ius=mydlink&ifl=https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id%3D%26mt%3D8&pt=
当我打开或单击动态链接时,它会在“应用商店”应用程序中打开应用程序页面,而不会通过安装的应用程序打开应用程序本身


我在这里遗漏了什么?

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


这为我解决了问题。

我很抱歉回复太晚-我希望您的问题已经解决,这对其他可能遇到相同问题的人有帮助

iOS 9+可能存在一个或多个问题;动态链接依靠苹果的通用链接在iOS 9+上打开应用程序,这些建议旨在解决通用链接和Firebase的问题,与SDK没有直接关系

  • 验证assoc文件在以下位置是否正确:https://app_id.app.goo.gl/apple-app-site-association -它看起来应该类似于,但“细节”中只有一个元素
  • 正如另一个答案所指出的,验证您的团队ID是否在Firebase控制台中正确设置
  • 如果您长时间按下链接,然后单击“在Safari中打开”,或者在应用程序通过通用链接打开后单击了应用程序状态栏上的“goo.gl>”按钮,则iOS默认为在Safari中打开通用链接。这可以通过下拉Safari中打开的页面并单击smart横幅上的“在应用程序中打开”(或类似)来解决
  • 在安装后点击iOS 9+打开应用程序时,不涉及“ibi”参数,但在未设置“ius”参数的早期版本中使用

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


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

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

    我花了很多时间尝试这一点,但始终无法让它以可靠的方式在模拟器上工作。我最终做的是通过电子邮件将链接发送给我,然后从收件箱中打开它。那它每次都有效

    集成Firebase动态链接后,示例链接立即开始在具有iOS 8的设备上工作。对于iOS 9设备,如其他答案所述,使用通用链接机制。这意味着苹果需要更新用于验证深度链接双重身份验证的授权数据。根据苹果公司的报告,这可能需要48小时


    还有更多通用链接疑难解答提示。

    由于安装过程中Firebase的假设出现问题,Firebase动态链接不适用于我们(在iOS9上使用通用链接)。下面是我们如何修复应用程序上的问题:

    将iOS应用程序添加到Firebase控制台项目设置时,Firebase会询问您的“团队ID”,并假定您的唯一应用程序ID的格式为TeamID.com.foo.bar

    然而,在我们的例子中,这不是我们唯一的应用程序ID。当我查看我们的配置文件时(在developer.apple.com上,我找到了我们的配置文件并单击“编辑”),我发现我们唯一的应用程序ID实际上是某物ingelse.com.foo.bar

    我必须进入Firebase控制台,在它要求团队ID的位置输入“SomethingElse”,即使这不是我们的团队ID。一旦我做出了更改,Firebase动态链接开始正常工作

    Firebase似乎在假设您的唯一应用程序ID始终以您的团队ID开头,但情况显然并非总是如此


    请注意,更改团队ID可能需要大量时间才能生效。通过检查应用程序id()的相应链接,您可以看到发生了更改。

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

    当链接在Safari中打开时,它会显示一个“打开(项目名称)”按钮。如果按下此按钮2-3秒,它会要求首次将其打开到不同的应用程序中。它还会显示您的应用程序名称。如果您选择应用程序,它将打开您的应用程序。完成此操作后,如果您再次打开此链接并在safari中按下按钮,它将始终正常工作


    这为我解决了这个问题。

    有时我们在关联的域权限中会犯错误。必须没有空间

    applinks:mydomain.page.link
    

    经历了同样的问题

    我的解决办法是使用

    标识符->应用程序ID->“my.App.ID”->前缀

    您可以在以下网站上找到它:

    而不是我使用的
    .pbxproj
    中的
    'DevelopmentTeam'
    编号,并将其添加到Firebase控制台中iOS应用程序的
    团队ID


    不要忘了下载一个新的.plist并将其添加到项目中。

    如果上述解决方案都不适用于您,请检查您是否在相关域中添加了activitycontinuation

    我有个好消息

    我总是听说在模拟器上测试动态链接是不可能的

    但是现在我们可以在模拟器上测试firebase动态链接


    我们也遇到了类似的问题。我们案例中的问题是,生成带有链接的电子邮件的软件生成了一个新的链接,该链接有一个304重定向到我们的深层链接。这不起作用
    Dynamic Links -> choose your link -> Edit
    
    <key>com.apple.developer.associated-domains</key>
    <array>
      <string>applinks:abc.page.link</string>
    </array>
    
    [domain]/.well-known/apple-app-site-association
    [domain]/apple-app-site-association