【问题标题】:Firebase dynamic links always opens app storeFirebase 动态链接始终打开应用商店
【发布时间】:2019-06-21 14:56:41
【问题描述】:

我一直试图让动态链接工作一整天都没有成功。

我使用 firebase web 和谷歌提供的链接创建了一个动态链接。我已按照说明添加了相关域 (applinks:https://myapp.page.link/sZZL),并且还设置了 firebase 托管。

在firebase上我检查了团队ID和应用商店ID(它没有发布到应用商店,但上传到苹果开发者帐户,所以有一个ID)是正确的。

正确设置了 url 类型,并设置了 bundle id。

如果我在 chrome 中打开链接,它会重定向到应用程序就好了。

我已尝试发送包含链接的电子邮件并将其添加到笔记并从那里打开。全部打开应用预览页面,然后重定向到应用商店。

您的应用尚未出现在应用商店中,因为它正在开发中 - 这会影响它吗?

我只是希望它重定向到应用程序(在有问题的手机上)而不是应用程序商店

【问题讨论】:

标签: firebase firebase-dynamic-links


【解决方案1】:

要让您的动态链接在 iOS 上正常工作,您需要设置:

  1. 关联域 此属性在自定义权利文件中设置,看起来像

<key>com.apple.developer.associated-domains</key>
<array>
    <string>applinks:myapp.page.link</string>
</array>
  1. 网址类型 在 info.plist 中添加 firebase 默认使用的 URL 类型

<key>CFBundleURLTypes</key>
<array>
    .... Some others url schemes
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>Bundle ID</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>your.bundle.id</string>
        </array>
    </dict>
    ....
</array>

另外,您应该添加 Team ID(必需)和 App Store ID(如果您的应用未发布,您可以使用任何其他应用的 App Store ID 作为临时解决方案,但也是必需的)

欲了解更多信息,请参阅firecast

用于处理应用程序中的链接使用this

【讨论】:

    【解决方案2】:

    请检查关联域中的链接设置。它不应包含 https 或 www。

    例如:

    应该类似于:"applinks:appname.page.link"

    但它不应类似于:“applinks:https://appname.page.link”或“applinks:www.appname.page.link”

    【讨论】:

      【解决方案3】:

      我使用@Mark Iliev 的回答帮助解决了这个问题,但我的情况有点不同。

      最初我在Associated Domains 中指定了一个Firebase 域,例如applinks:myproject.page.link

      然后我配置了要使用的自定义域,当我更新关联域部分时,XCode 告诉我将创建一个新的权利文件,因此它使用更新的自定义域将文件 MyProjectRelease.entitlements 添加到项目中.

      但是,原来的 MyProject.entitlements 文件中仍然存在旧的 Firebase 域名。将新 MyProject.entitlements 中的域更新到我的自定义域解决了这个问题。

          <dict>
             <key>aps-environment</key>
             <string>development</string>
             <key>com.apple.developer.associated-domains</key>
             <array>
                 <string>applinks:mycustomdomain.com</string>
             </array>
          </dict>
      

      【讨论】:

        【解决方案4】:

        我的应用总是进入 App Store 页面时遇到了同样的问题。该应用程序已经上线。我遵循了有关关联域等的完整说明,所有设置都是正确的。

        我的问题是 Firebase 要求提供 Team IDApp IDTeam IDapple-app-site-association 中使用,所以你会得到类似的东西:

        {"applinks":{"apps":[],"details":[{"appID":"TEAMID.bundleID","paths":["NOT /_/*","/*"]}]}}

        我注意到,当您在开发人员中心(在证书和配置文件中)按下您正在使用的标识符时,我在开发人员中心的应用标识符中显示了 App ID Prefix。对于大多数(较新的)应用程序,它们与Team ID 相同,但有时会有所不同。

        如果不同,请在 Firebase 中的 Team ID 字段中输入 App ID 前缀!

        过了一会儿(花了我 15 分钟左右)apple-app-site-association 将被更改,新的前缀将显示出来。一段时间后,我的 Firebase 动态链接又开始正常工作了。

        希望这可以帮助一些遇到同样问题的人并节省他们一些时间。

        【讨论】:

          猜你喜欢
          • 2022-11-19
          • 1970-01-01
          • 2020-02-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-07
          • 1970-01-01
          相关资源
          最近更新 更多