问题标签 [android-app-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.

0 投票
1 回答
21 浏览

android - Android App Links 的assetlinks.json 文件是否有与iOS 对应的大小限制?

为了只允许授权的应用打开https链接,Android 有App Links,iOS 有Universal Links。在这两种情况下,都需要上传文件,即。assetlinks.json适用于 Android 和apple-app-site-association适用于 iOS 的https://domain.name/.well-known/路径上的文件。我可以发现对于 iOS,文件大小可以最大为 128 KB,但是,找不到任何此类信息assetlinks.json。它有大小限制吗?

0 投票
0 回答
47 浏览

xamarin - Xamarin Forms OnAppLinkRequestReceived 事件 - Shell.Current 为空

我正在我的 Xamarin Forms 应用程序上测试应用程序链接/深度链接/通用链接。我有一个应用程序可以按预期正确拦截 URL,但是当我在应用程序中使用 Shell 导航到页面时,Shell.Current 为空。

Visual Studio 2022、Android Pixel 4 模拟器、Xamarin Forms 版本 5.0.0.2291

设置:简单的 onAppLinkRequestReceived 处理程序。调试器在此代码处执行和中断,所以我知道我的应用链接设置正确。

这里的问题是 Shell.Current 为空,所以我为 nullref。我希望 shell.current 应该始终有效?

我正在使用 Android 建议的测试技术对此进行测试,可在此处找到:

.\adb shell am start -W -a android.intent.action.VIEW -d "my-url" my-package-id

空壳当前值出现意外,尤其是当网络上的其他示例表明直接从 applinkrequest 事件导航应该有效时?

0 投票
1 回答
20 浏览

android - 我正在使用应用程序链接进行深度链接,它在模拟器上按预期工作,但在物理设备上的应用程序中没有打开

在安装应用程序时,单击https://myapp.com会将我带到与模拟器相关联的活动。但同样的情况在物理设备上不起作用。即使安装了应用程序,它也会将我带到网页。我使用的模拟器是Android 10和11,用于测试的物理设备是S9(android 10)和Pixel 6(android 12)

0 投票
1 回答
88 浏览

react-native - 强制 Android App Link 在浏览器中打开

我们有一个 React Native 应用程序,它显示了我们的移动网站并添加了一些额外的功能。

由于 Android 12 应用程序链接(如 domain.com)始终打开我们的应用程序:https ://developer.android.com/training/app-links

这种行为并不总是可取的,例如在这种情况下:

  1. 客户已登录并通过浏览器开始下单
  2. 客户需要通过银行的应用程序付款
  3. 付款后,客户被重定向回我们的网站 (domain.com/returnUrl)

现在打开的是应用程序,而不是浏览器,因此客户没有登录,也不允许查看页面。

在这种情况下,从浏览器开始付款后,我们希望将客户重定向回浏览器而不是应用程序。

有没有办法在浏览器中打开链接(即通过 domain.com/returnUrl?force-browser)而不是应用程序?

相关:Android 应用程序链接 - 在浏览器中打开应用程序的 url 而不会触发应用程序链接

0 投票
1 回答
34 浏览

android - 以编程方式分配隐式深度链接

为了隐式添加深层链接,必须将深层链接添加到 XML。如果我想检查目标是否可以处理深层链接或以某种方式对其进行修改,那么在 XML 中添加的内容是禁止的。

我可以看到有一个addDeepLink但我还没有找到一个很好的例子。如果以编程方式添加深层链接,那么导航图甚至会意识到它。

0 投票
0 回答
6 浏览

android - 应用程序应该是应用程序索引的默认处理程序吗?

清单中定义了许多 Web URL(作为深层链接)。对于应用索引,我添加了一个应用链接。它似乎已验证,但不能用作默认处理程序。单击链接时会出现消歧对话框。

我注意到文档说:

注意:在 Android 11(API 级别 30)及更低版本上,系统不会将您的应用验证为默认处理程序,除非它为您在清单中定义的所有主机找到匹配的数字资产链接文件。

通过终端检查(adb shell pm get-app-links <package_name>)并通过“”过滤Logcat IntentFilterIntentOp)他们都说已验证

我的应用程序仍然以这种方式编入索引吗?或者它应该是索引的默认处理程序?如果是这样,我怎样才能做到这一点?

注意:无法将数字资产链接文件添加到所有主机,因为其中一些不是物理主机。

注意:当除应用程序链接之外的所有 Web 链接都被删除时,它作为默认处理程序工作。