当前位置:   article > 正文

App Links(APP关联)_applinks

applinks

 

前言

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

  1. <activity
  2. android:name="这里填写包名.ApplinksActivity"
  3. android:alwaysRetainTaskState="true"
  4. android:launchMode="singleTask"
  5. android:noHistory="true"
  6. android:theme="@android:style/Theme.Translucent.NoTitleBar">
  7. <intent-filter android:autoVerify="true">
  8. <data
  9. android:host="这里填写域名"
  10. android:scheme="http" />
  11. <data
  12. android:host="这里填写域名"
  13. android:scheme="https" />
  14. ....
  15. <category android:name="android.intent.category.DEFAULT" />
  16. <category android:name="android.intent.category.BROWSABLE" />
  17. <action android:name="android.intent.action.VIEW" />
  18. </intent-filter>
  19. </activity>

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

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. Intent intent = getIntent();
  5. Uri uri = intent.getData();
  6.   String host = uri.getHost();
  7. String path = uri.getPath();
  8.   if (host.equals("这里填写域名")){
  9. if(path.equals("链接路径")) {
  10. // 跳转app指定A界面
  11. } else if(path.equals("链接路径")) {
  12. // 跳转app指定B界面
  13. } else {
  14.   ...
  15. }
  16. }
  17. }

 

以上为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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/296760
推荐阅读
相关标签
  

闽ICP备14008679号