简体   繁体   English

如果未安装应用程序,Apple App Site Association 将不起作用

[英]Apple App Site Association not working if app is not installed

We've been testing our app and in development things were perfect regarding app association/deeplinking.我们一直在测试我们的应用程序,并且在开发过程中,应用程序关联/深度链接方面非常完美。 We have our .well-known/apple-app-site-association working, validating, Branch.io's AASA validator passing with our domain+team ID+bundle combo.我们的.well-known/apple-app-site-association工作、验证、Branch.io 的 AASA 验证器通过我们的域+团队 ID+捆绑组合传递。 Of course there wasn't a way to test it live with App Store link until it was actually on App Store.当然,在它实际出现在 App Store 之前,没有办法通过 App Store 链接对其进行实时测试。

Today we've released our app, and realized that even when we go to our page which should be handled by the deep linking, the "top bar" (install/open link) wasn't being displayed.今天我们发布了我们的应用程序,并意识到即使我们 go 到我们应该由深度链接处理的页面,“顶部栏”(安装/打开链接)也没有显示。 If we install the app, then the top bar displays with the "open" link but not having "install" button when app isn't installed is killing the whole purpose.如果我们安装应用程序,那么顶部栏会显示“打开”链接,但在未安装应用程序时没有“安装”按钮,这会扼杀整个目的。

Apple's search validation tool however gives the following error for "Link to Application" section:然而,Apple 的搜索验证工具为“链接到应用程序”部分提供了以下错误:

Error no apps with domain entitlements
The entitlement data used to verify deep link dual authentication is from the current released version of your app. This data may take 48 hours to update.

Here is what we have:这是我们所拥有的:

  • A correct, validating (through https://branch.io/resources/aasa-validator ) AASA file in our .well-known directory with correct mime type, Team ID suffix, and bundle ID. .well .well-known目录中正确的验证(通过https://branch.io/resources/aasa-validator )AASA 文件,具有正确的 mime 类型、团队 ID 后缀和捆绑 ID。
  • Our app, just published on the App Store我们的应用,刚刚在 App Store 上发布
  • Apple's Search Validation Tool ( https://search.developer.apple.com/appsearch-validation-tool/ ) telling that association is not found even though Branch.io's one doesn't complain. Apple 的搜索验证工具 ( https://search.developer.apple.com/appsearch-validation-tool/ ) 告诉即使 Branch.io 没有抱怨也没有找到关联。
  • Association working (top bar shown at paths that we defined) when app is installed , either through App Store, TestFlight, or manually from Xcode.通过 App Store、TestFlight 或从 Xcode 手动安装应用程序时,关联工作(在我们定义的路径中显示的顶部栏)。
  • Association not working (top bar not shown at all as if AASA doesn't exist) when app is not installed .未安装应用程序时,关联不起作用(根本没有显示顶部栏,好像 AASA 不存在一样)。

We need to show the bar when app is not installed, too.我们还需要在未安装应用程序时显示该栏。 Are we missing something or is it just a matter of time for Apple to index and map our App Store app and domain now?我们是否遗漏了什么,或者 Apple 现在索引和 map 我们的 App Store 应用程序和域只是时间问题?

What you are looking for is a Smart banner .您正在寻找的是智能横幅

To get this to appear you need to add some meta data to your web page.要让它出现,您需要向 web 页面添加一些meta数据。

<meta name="apple-itunes-app" content="app-id=myAppStoreID, app-argument=myURL">

There are two different processes at work in what you are trying to achieve:您要实现的目标有两个不同的过程:

  • When you install an app with an associated domains entitlement, iOS fetches the ASAA file from that domain and then uses that to direct requests to your app for matching URLs当您安装具有关联域权利的应用程序时,iOS 从该域获取 ASAA 文件,然后使用该文件将请求定向到您的应用程序以匹配 URL
  • When you don't yet have the app installed, Safari uses the meta data to offer the app to the user.当您尚未安装应用程序时,Safari 使用元数据将应用程序提供给用户。 Safari does not check every single domain that the user accesses for an ASAA file, so without the meta data you won't get the smart banner. Safari 不会检查用户访问的每个域的 ASAA 文件,因此如果没有元数据,您将无法获得智能横幅。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM