本文主要是介绍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关联)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!