问题标签 [digital-assets-links]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
progressive-web-apps - TWA 基础应用程序有时显示 URL,有时工作,甚至 Assetlink.json 正确上传
我有网站(https://www.kriscent.com/product/kart-supermarket/)。我创建了 PWA,之后我使用 TWA(受信任的 Web 活动)将其上传到 Play 商店,应用 URL 为https://play.google.com/store/apps/details?id=in.kriscent.kartlite。网站的网址总是显示在应用程序中,所以我上传了assetlink.json(网址:https ://www.kriscent.com/.well-known/assetlinks.json )。上传assetlinks.json后,当我运行我的应用程序时,网站URL消失了,但是当我打开应用程序中的其他链接时,URL再次显示。我不知道发生了什么。如果有人有解决此问题的想法,请帮助我。
android - appAuth-android 和带有数字资产链接的自定义标头
我正在使用 appAuth-android 登录我的应用程序,并且我想传递一个自定义标头。为了允许自定义标头,我已经完成了数字资产链接建议的所有操作。
数字资产链接码
当我运行代码时,日志会返回,因为它已经过验证
使用 customTab 授权
授权工作正常,只是我的自定义标题没有出现
android - 数字资产链接验证偶尔会失败。无法描绘出任何失败的模式
我们必须在我们的 Android 应用程序自定义 chrome 选项卡上加载第三方 HTML 文件。要访问该文件,第三方要求我们的应用程序在下载 HTML 文件的请求中传递(非白名单)请求标头。
我们使用了这里描述的解决方案
我们在开发环境中没有发现任何问题,但在生产环境中,我们注意到资产链接验证随机失败,我们无法得出任何失败模式。下面的一些观察
- 任何特定版本的 Android 或 Chrome 都没有失败
- 访问数字资产链接文件没有延迟或问题
- 2 位使用完全相同的 Android 手机型号和配置的用户注意到资产验证在一台设备上失败,而不是在另一台设备上
- 即使在同一台 Android 设备上,验证资产链接文件的 2 个单独请求也具有不同的行为。一个失败,另一个成功。
由于资产链接验证失败,chrome tab 发出没有请求头的请求,下载失败。
我们能够得出的唯一模式是,每当我们发布新版本的 Android 应用程序时,都会发生这种情况。该问题持续大约 3-4 天,之后我们不再看到该问题发生。
查询
- Google 资产链接验证是如何在后台进行的,以及我们如何进一步调试的任何指导?
- 我们看到的唯一其他选择是使用我们希望尽可能避免的 WebView。还有其他选择吗?
细节
根据上面的解决方案示例,我们有类似的东西
我们注意到布尔参数结果在某些情况下返回 false。
android - 受信任的 Web 活动:无法删除 URL 标头
我正在探索受信任的 Web 活动概念并尝试像这样启动它 -
我在这里使用了谷歌的资产链接生成器并针对域进行了测试。它显示成功的链接。另外,我正在使用来自 Playstore 的正确应用签名密钥。尽管如此,它并没有为我隐藏 URL 栏。我已经查看并尝试了 StackOverflow 上的所有可用选项,但仍然没有运气。
android - AssetLinks 文件预期流量和故障场景
我正在根据各种指南和协议设置我的 Android 应用程序以使用 HTTP Web 链接,并已成功设置深度链接,其中包括从/.well-known/assetlinks.json
. 一切都按预期工作。从操作的角度来看,我正在努力解决的是如何维护这个文件——特别是在更新和失败的情况下。
假设我有现有客户已经下载了我的应用程序并且可以正常使用网络链接。我更新了我的资产链接文件并将新版本推送到我的服务器。我的客户何时获得更新的资产链接文件?操作系统是否配置为在某些节奏或应用启动时检查更新?是否仅在应用程序更新或重新安装时?
同样,假设我的网站已关闭。新用户正在安装我的应用程序,操作系统将无法关联我的域,并且当客户单击 HTTP 网络链接时,他们不会被深度链接到应用程序。这是有道理的。但是在我从中断中恢复之后,考虑到应用程序已经安装,客户什么时候可以获得他们的资产链接文件?
同样,假设我上传了一个无效的assetlinks.json 文件。这是否会破坏在首次安装应用程序时已经具有有效关联的现有客户的当前 Web 链接?
了解这些问题最终将帮助我更好地解决客户问题并调整我应该期望从我的服务器上看到我的资产链接文件的预期流量。
google-play - 如何在无法访问 Shopify 等根文件夹的网站上进行数字资产链接验证?
我已经为我的 Shopify 网站生成了 PWA。现在,我想将它上传到 Google Play 商店,所以我使用PWABuilder来创建我的应用程序包。我已成功完成所有步骤并生成了商店包。
现在,正如这里建议的那样,要在全屏模式下工作 PWA(没有 Chrome 地址栏),我必须将assetlinks.json
文件上传到服务器上的https://myserveraddress.com/.well-known/assetlinks.json
位置。
- 部署assetlinks.json。
您的 zip 文件包含assetlinks.json。这是一个数字资产链接文件,可证明您的 PWA 的所有权。通过https://example.com/.well-known/assetlinks.json将此文件上传到您的服务器。(将 example.com 替换为您的 PWA 的 URL。)
♂️ 注意:
Android 上的 PWA 需要数字资产链接。如果您在 Android 上的应用中看到浏览器地址栏,或者您的应用在启动时崩溃,这意味着您的 assetslinks.json 文件丢失、无法访问或不正确。请参阅我们的资产链接帮助程序来解决此问题。
但是 Shopify 无法在特定位置上传任何文件。我们可以上传文件,但是上传的文件在 Shopify 商店和 CDN 上服务,没有办法在根目录上传任何文件。
那么,我们如何在像 Shopify 这样无法访问 root 的网站上进行数字资产链接验证?
android - 由于应用没有签名,因此无法将 Android 应用与 Digital Asset Link 链接
我正在尝试设置从我的网站到我的应用程序的数字资产链接,但我无法让它工作。我确保它intent-filter
存在于我的清单中,并assetlinks.json
使用我的 Play 商店签名 SHA 256 指纹上传了一个文件,并使用 Google 的语句列表对其进行了测试,并成功返回。
再次执行验证步骤时,我检查了我设备的应用链接,adb -d shell pm get-app-links --user current com.example.app
发现我的应用链接没有签名。我猜这可能是应用程序无法链接到我的网站的原因,因为它无法将签名与assetlinks.json
我网站服务器上托管的指纹进行比较。
我的应用链接
与另一个相比
出于某种原因,我的应用程序链接与大多数其他链接的格式不同,更重要的是没有签名,我不知道为什么。但是我尝试安装它,它总是给出相同的结果。我尝试安装它:
- 来自 Play 商店的内部测试
- 从从下载的签名 apk
App bundle explorer
- 我们通常从签名的 apk 上传到 Play 商店
- 来自在我的本地机器上构建的手动签名的 apk
有谁知道我错过了什么?
deep-linking - 如何在 wix 上托管assetlinks.json?
我正在尝试向我的应用添加深层链接。我们在 wix 上托管了我们的网站,并通过 wix 链接它。我们如何将assetlinks.json 添加到wix?
android - 如何将多个 SHA-256 指纹添加到我的assetlinks.json 以验证 Android 链接?
我现在设置了资产链接,如下所示:
根据链接文档,该字段应支持多个指纹,但我无法找到如何格式化此字段的任何示例。鉴于它只是 JSON,我在上面格式化的方式似乎应该可以正常工作,但是当我在该字段中有多个指纹时,我看到链接验证失败,而单个指纹似乎可以正常工作。
我只是在这里遗漏了一些非常明显的东西吗?
android - 应用程序应该是应用程序索引的默认处理程序吗?
清单中定义了许多 Web URL(作为深层链接)。对于应用索引,我添加了一个应用链接。它似乎已验证,但不能用作默认处理程序。单击链接时会出现消歧对话框。
我注意到文档说:
注意:在 Android 11(API 级别 30)及更低版本上,系统不会将您的应用验证为默认处理程序,除非它为您在清单中定义的所有主机找到匹配的数字资产链接文件。
通过终端检查(adb shell pm get-app-links <package_name>
)并通过“”过滤Logcat IntentFilterIntentOp
)他们都说已验证。
我的应用程序仍然以这种方式编入索引吗?或者它应该是索引的默认处理程序?如果是这样,我怎样才能做到这一点?
注意:无法将数字资产链接文件添加到所有主机,因为其中一些不是物理主机。
注意:当除应用程序链接之外的所有 Web 链接都被删除时,它作为默认处理程序工作。