Android APPLink的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android APPLink的使用相关的知识,希望对你有一定的参考价值。

参考技术A 一.什么是APPLink
通过link这个词可以看出这是一种链接。这种链接用于APP,通过指定的<intent-filter>来实现跳转。谷歌从Android M开始支持APPLink,并且推动DeepLink的发展,本文会介绍link的使用方法,暂时不涉及到DeepLink的使用。
二.使用APPLink的场景
1.通过手机短信中的链接启动APP
2.通过推送过来的消息启动APP,并跳转的相关的页面。
3.与H5交互的时候,通过JS中包含的Link参数进行相关的操作。
三.APPLink的配置方法

其中host与scheme可以自己来定义,上面的配置中我们拼接出来的URI = fuliang://com.fuliang.linkdemo
通过另外一个APP我们可以测试一下,在App2中跳转到APP1中的页面。

这样我们点击按钮的时候会根据申明了<action android:name="android.intent.action.VIEW" />属性的Activity去匹配host与scheme,一旦匹配成功,就会启动对应的Activity。
上面三个使用方式的用法:
1.在手机短信中我们看到的应该是一个超链接文本,点击后去匹配我们设置的host与scheme,在浏览器中直接输入link是没有作用的。
2.在推送中我们以极光推送为例
我们在附加字段中添加key和value

推送出去之后我们在自定义的BroadcastReceiver中监听用户的操作事件

在推送过来的消息中,我们传的url参数在Bundle中。我们定义的规则是将推送的附加参数作为转成json字符串进行传递。接收到的json解析成为对应的uri然后我们先跳转到APP的首页在跳转到对应的ACTION_VIEW。在这里我们默认APP是存活的,在实际应用中我们应该先去判断APP是否存活,如果存活则使用这样的方式,如果没有存活则先启动APP,再解析相应的参数作出处理。
3.通过H5交互使用link
在webview中的设置:

在H5中对应的写法为:

以上就是常见的使用link的相关方法。

以上是关于Android APPLink的使用的主要内容,如果未能解决你的问题,请参考以下文章

android appLink

al_applink_data 如何被注入到 stringWithContentsOfURL?

为啥这个由 facebook 生成的深层链接(applink)不起作用?

代号:通过 applink 打开应用时,iOS 上的 AppArg 为空

iOS applink 在设备上不起作用,但在模拟器上打开应用程序

如何获取 AppLinks/通用链接的任何应用程序的 URI 方案?