繁体   English   中英

Android中的延迟深层链接网址

[英]Deferred Deep Linking URL in Android

我想在我的Android应用程序中实现延迟深度链接。 我的理解是我需要提供一个网址,当用户打开网址时,如果尚未安装该应用,它会将用户引导至应用或玩商店。 根据我的研究,似乎Android能够默认解析延迟深度链接。 但我的问题是URL来自哪里? Google是否有任何网址构建器可以为我生成或者我是否需要拥有一个网站并为网址编写一些代码?

该网址来自任何应用或用户。 它只是http://example.com/path形式的普通应用程序。 不可思议的是,您的清单会为http方案和example.com/path路径注册一个intent过滤器,而Android会将具有该URL的ACTION_VIEW的任何意图注册到您的应用程序。 如果你的应用程序没有安装,因为它的http url会回退到浏览器。 如果url碰巧或重定向到Play商店,那么它也会让你获得这种行为。

到目前为止,答案和评论都是指正常的深层链接。 它们都不会让你延迟深度链接(即,即使尚未安装应用程序且用户需要首先访问Play商店下载它,也能深层链接)。

Vanilla iOS根本不支持延迟深度链接。 Android可以通过Android Google Play引荐来实现 ,但它不可靠,并且根本不适用于Chrome。

为此,您可能希望调查像Branch.io这样的免费第三方服务(完全披露:我在分支机构团队中)。 Branch平台将所有技术细节和边缘情况抽象化,因此您需要担心的是在创建链接时定义一组键/值参数(例如: articleID: story123 )。 分支确保在用户单击链接后第一次启动时,应用程序内部会返回这些参数,无论是否在单击链接时安装了应用程序。 然后,您可以根据需要使用这些值进行路由/自定义。

Firebase动态链接似乎是支持延迟深层链接的官方Android方式,如果需要,它将通过安装UI发送用户。 它也适用于iOS和Web。

您可以尝试使用此方案(发送给用户):

intent://details?id=X&url=Y&referrer=Z#Intent;scheme=market;action=android.intent.action.VIEW;package=com.android.vending;end";

X:应用程序的包名称

Y:应在App的清单中定义的深层链接方案。 (请参阅此处)此处,他们使用此网址作为示例:“ http://www.example.com/gizmos ”,因此Y应替换为此网址。

Z:可以是您想通过Google Play传递给应用的任何数据。 请注意,您传递的任何数据都不应该“分开”,因为原始参数本身是“&”分开的。

根据我的实验,浏览器会理解此URL,并根据包名称和深层链接方案将您重定向到App。 否则它会带你进入Google Play。

PS:Google Play会向应用广播。 因此,请确保您在接收器中收到广播。

暂无
暂无

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

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