App Links(APP关联)

2024-05-28 15:08
文章标签 app 关联 links

本文主要是介绍App Links(APP关联),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

前言

2015年5月28日,Google I/O大会上正式推出Android M(android6.0 API级别23),其中新增了一个特性叫AppLinks,它可以加强软件间的关联,可以把触屏端的流量带到移动端来。

Android App Links具有以下优势:

  • 安全且具体: Android App Links使用链接到您拥有的网站域的HTTP URL,因此没有其他应用可以使用您的链接。Android App Links的要求之一是您通过我们的网站关联方法验证您所在域的所有权。
  • 无缝的用户体验:由于Android App Links对您网站和应用中的相同内容使用单个HTTP URL,因此未安装应用程序的用户只需访问您的网站而不是应用程序 - 没有404,没有错误。
  • Android Instant Apps支持:使用Android Instant Apps,您的用户无需安装即可运行您的Android应用。要为您的Android应用添加即时应用支持,请设置Android应用链接并访问g.co/InstantApps。
  • 通过Google搜索吸引用户:用户可以通过在移动浏览器,Google搜索应用,Android屏幕搜索或Google智能助理中点击Google中的网址,直接在应用中打开特定内容。

 官方链接:https://developer.android.com/training/app-links/

 

接下来我们就讲讲如何把App Links功能应用到我们的程式

1.首先在配置文件AndroidManifest.xml中声明ApplinksActivity

<activityandroid:name="这里填写包名.ApplinksActivity"android:alwaysRetainTaskState="true"android:launchMode="singleTask"android:noHistory="true"android:theme="@android:style/Theme.Translucent.NoTitleBar"><intent-filter android:autoVerify="true"><dataandroid:host="这里填写域名"android:scheme="http" /><dataandroid:host="这里填写域名"android:scheme="https" />....<category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><action android:name="android.intent.action.VIEW" /></intent-filter>
</activity>

2.然后在ApplinksActivity.java中处理链接跳转逻辑

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Intent intent = getIntent();Uri uri = intent.getData();String host = uri.getHost();String path = uri.getPath();if (host.equals("这里填写域名")){if(path.equals("链接路径")) {// 跳转app指定A界面} else if(path.equals("链接路径")) {// 跳转app指定B界面} else {...}}
}

 

以上为app端的配置,这个时候用户使用google浏览器访问了你配置声明好的域名时,它会弹出对话框询问你开启方式,如果用户点击选中了你的客户端时,那么它可以直接把你在浏览器中访问的链接带到app中进行操作。

如果你不希望弹出这个对话框,而是希望用户直接进入到你的app中,那么你还需要这两步操作进行认证:

1.生成assetlinks.json文件,

2.把这个文件上传到这里→  https://这里填写域名/.well-known/assetlinks.json

assetlinks.json文件格式:

  [{
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target" : { "namespace": "android_app",
      "package_name": "这里填写应用程式的包名",
       "sha256_cert_fingerprints": ["这里填写SHA256证书指纹"] }
  }]

SHA256证书指纹获取方式:

在Androidstudio的Terminal下输入: keytool -list -v -keystore 这里填写应用程式签名文件的完整路径

 

AppLinks更多信息,请参阅安卓官方链接:https://developer.android.com/training/app-links/verify-site-associations

 

这篇关于App Links(APP关联)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010912

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD