问题标签 [android-deep-link]

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 回答
416 浏览

android - 通过 Firebase 动态链接打开应用后,Fragment 自动跳转到导航图的 startdestination 片段

我正在使用 Firebase 动态链接与其他用户共享特定产品。我能够创建产品共享链接。链接生成正常。我正在检测我的主要登录活动中的链接,这是应用程序的启动器活动。
该链接也可以正常检测到。我有 2 个导航图。一个用于登录过程,一个用于主应用程序。我必须从登录图中打开主图中的特定片段。我正在检测登录图中的链接并创建一个深层链接,如下所示:

问题是当我打开 storeFragment 时,应用程序会跳转到 nav_graph_main 的 home 片段。它不会停留在 newFragment 中。只是片刻。

我的 nav_graph_main 如下:

请为此发布解决方案,因为我已经坚持了一段时间。

0 投票
1 回答
209 浏览

android - 如何为 android deeplink/applink 管理两个不同的意图过滤器?

我的 applink/deeplink 已经有一个意图过滤器。示例代码:

由于我们没有任何路径或 pathPattern,因此此意图过滤器不会进行任何从 Web 浏览器到应用程序的链接重定向。我们只是那样做我们的行为。但是对于一个新的 saml 登录用例,我们必须在 Web 浏览器中打开 saml 登录页面(而不是在应用程序 webview 中),并在登录后重定向回应用程序。所以我们现在要使用 pathPattern。现在问题开始了。我们有相同的方案和主机。因此,如果我在具有相同方案的相同活动下创建一个新的意图过滤器,并使用 pathPattern 浏览器托管所有 url 重定向到我根本不想要的应用程序。示例代码:

我尝试了一个新活动并在那里使用了第二个意图过滤器,但仍然是同样的问题。所有 url 开始从浏览器重定向到应用程序,而不是仅 /ap/signin url。

当我只使用第二个意图过滤器并删除了第一个意图过滤器时,/ap/signin url 仅从浏览器重定向到应用程序,但所有其他 deeplink/applink url 停止工作。这对我来说有点熟悉。

有人对此有适当的解决方案吗?在不破坏现有流程的情况下,如何引入新的 pathPattern ?

0 投票
0 回答
499 浏览

android - Android AppLink 提示应用和 chrome

我正在尝试实现一个 AppLink (deeplink),这样当 app-link 被触发时,它不会弹出询问我的应用程序或 Chrome 的弹出窗口,我希望它只启动我的应用程序,以便我可以将它们引导到正确的位置在应用程序中。

我已经阅读了各种 android 文章和帖子,但无法让 AppLink 以我想要的方式工作。

这是我的清单 xml:

我在这里的 android 文档中阅读了以下内容:

深层链接是一种意图过滤器,允许用户直接在您的 Android 应用中输入特定活动。单击其中一个链接可能会打开一个消歧对话框,该对话框允许用户选择可以处理给定 URL 的多个应用程序(包括您的应用程序)之一。例如,图 1 显示了用户单击地图链接后的消歧对话框,询问是否在 Maps 或 Chrome 中打开该链接。

Android 应用链接是一种特殊类型的深层链接,它允许您的网站 URL 立即打开您的 Android 应用中的相应内容(无需用户选择应用)。

我在意图中添加了自动验证并拥有assetlinks.json 文件,但仍提示选择我的应用程序或chrome。我不想要 chrome 的提示......只有我的应用程序。

那么,我错过了什么?

这里有没有人有一个应用程序链接不弹出 Chrome 的选项?

任何人都可以向我指出实际有效的示例应用程序或代码或文章吗?

感谢您对此的任何帮助。

0 投票
1 回答
418 浏览

android - 图形之间的 Android 高级导航深度链接

我一直在使用Android 高级导航。在我当前的项目中,我有三个导航图。问题是,一个图中的某些片段应该从另一个图中到达。为了解决这个问题,我做了深层链接。

例如,在图 A 中,我包含了图 B,然后使用图 B 中的深层链接来访问该特定片段。问题是当我在图 B 中时,现在我想跳回图 AI 不能。由于图 A 不包含在图 B 中,当前导航控制器无法找到目的地。如果我在图 B 中包含图 A,则会出现另一个问题。Android Studio 无法构建项目,因为它存在循环导入问题(图 B 尝试导入图 A,但图 B 已包含在图 A 中等),我真的不知道还能做什么。

我尝试创建一个包含所有三个子图的巨大导航图,但我无法让它与这个 Android 高级导航一起使用。有没有更有效的方法?

编辑以添加代码:

BottomNavigationView 扩展:

导航图:

初始化底部导航:

0 投票
1 回答
116 浏览

firebase - 无法在 Firebase 动态链接中接收 getquery 参数的值

我必须在 firebase deeplink 中添加一个额外的参数作为“meetingToken”。

但是在添加一个额外的参数“meetingtoken”作为查询参数时,我没有收到值并且在 joinmeeting(it) 中出现错误:没有为参数 meetingToken 传递值。

虽然在传递单个参数时同样可以正常工作,但我需要进行哪些更改才能接收两个参数值。

目前它给我的错误是:

没有为参数“meetingToken”传递值

链接 = https://example.in/?meetingCode=myuser?meetingToken=rtgdhh.tywufgsioqpp

会议 Utils.kt 文件开始会议

应用深层链接 url 字符串

这是分享代码

有人可以指导我如何接收超过 1 个参数的 getQueryparameter 值。提前致谢

0 投票
0 回答
161 浏览

android - 使用带有单独堆栈的导航组件进行深度链接

我有两个网址属于相同的深层链接,如下所示:

xxx.yyy.zzz/pages

xxx.yyy.zzz/deeplinks-work-exactly

现在第一个是页面列表,它转到列出页面列表的片段,第二个转到显示该页面详细信息的片段。

设想 :

https://github.com/android/architecture-components-samples/tree/master/NavigationAdvancedSample

我正在按照上面的示例为每个选项卡设置独立的堆栈。当我对上述两个链接有两个不同的深层链接时,它会导航到两个片段。就像我用xxx.yyy.zzz/pages url 打开应用程序一样,它会一个接一个地打开 PagesFragment 和 DetailFragment。因此,当我从 PagesFragment 按下返回按钮时,它会导航回 DetailFragment。

现在我如何处理这两个带有深度链接的场景。如果同时设置了两个深层链接,它会一一导航到两个屏幕。我知道我可以更改路径并在页面详细信息 url(xxx.yyy.zzz/ page /how-deeplinks-work-exactly) 中添加前缀,但无论如何我可以拦截解析逻辑或添加一些排除条件来实现这不改变网址方案?

编辑:这可能是为具有单独堆栈而编写的导航逻辑 (NavigationExtensions.kt) 的问题。

0 投票
1 回答
858 浏览

android - Android Navigation Url Deep Link Back to Previous App

我的应用程序只有两个目的地,FirstFragmentSecondFragment我为SecondFragment创建了一个 url 深层链接,它工作正常。

我想要的是,在我从 Deep Link 进入SecondFragment后,当我按下 Back 按钮时,我想回到上一个应用程序。但现在它总是回到FirstFragment

我已将MainActivity设置为singleTaskonlaunchMode并尝试了以下操作但不起作用:

0 投票
1 回答
91 浏览

android - 如何触发深度链接?

在我的应用中,我启用了深层链接,例如:

当我进入智能手机浏览器时,我期待

https://www.bartsimpson.net\kwitchiboo\something.html

触发我的DeepLinkActivity

0 投票
2 回答
383 浏览

android - 深层链接打开错误的应用程序(即时应用程序,未安装的应用程序)

在拥有免安装应用和已安装的应用(版本)时,我遇到了深层链接问题。我的设置如下:

  • 基础应用程序(com.android.application)
  • 已安装的应用程序(com.android.dynamic-feature with dist:instant="false", dist:onDemand="false")

清单.xml:

  • Instant App(com.android.dynamic-feature with dist:instant="true", dist:onDemand="false")

清单.xml:

(请注意,已安装应用的清单定义了 Activity1,而免安装应用的清单定义了 Activity2)

问题是,当我打开带有深层链接的已安装应用程序时,它会打开 Activity2(即时应用程序的活动)而不是已安装应用程序的活动。

我了解 gradle 对动态功能模块和将所有 3 个清单合并在一起的基本应用程序(基本应用程序、已安装应用程序、即时应用程序)进行清单合并。但我认为 android 会足够聪明,可以使用已安装应用程序的活动来启动应用程序(如果它存在于设备上)。

所以我的问题是:如何同时支持已安装应用和免安装应用中的相同深层链接?换句话说:如果没有安装应用,使用免安装应用的Activity(Activity2)打开深层链接,如果安装了应用,使用已安装应用的Activity(Activity1)打开深层链接?

谢谢你的帮助!

0 投票
0 回答
317 浏览

android - Android导航动态功能模块深层链接不起作用

我正在使用具有单一活动结构和动态功能模块方法的喷气背包导航组件来分离应用程序模块。我现在不想按需制作模块,所以它们都将安装在安装基础应用程序模块上。在我的应用程序模块导航 XML 中,我有 4 个引用动态模块的包含动态部分:

模块的某些部分具有连接,例如在工具模块中它具有 QR 码功能,可以读取并导航到其他模块中的其他片段,因此我在第二个模块中创建了一个深度链接,以便使用 Navigation-Component 更轻松地进行导航NavManager

问题是如果我在从第一个模块调用深度链接之前没有进入第二个模块,它会导致应用程序崩溃,说找不到深度链接,但是当我进入第二个模块然后从第一个模块调用深度链接时,它会正常工作而没有任何问题。所以我认为应该触发一些东西来让导航理解动态模块深度链接。

我知道谷歌在以下链接(限制部分)的末尾提到动态模块尚不支持深度链接:

导航动态限制

所以我发现它在目标模块打开之前有效,然后从其他模块调用它的深度链接,并且在之前未打开时不起作用。