什么是App Indexing?

将网站上的网页和智能手机相关联。已安装了相应软件的用户可以通过网站直接打开应用内容。

详细信息请参见官网https://developers.google.com/app-indexing/webmasters/app
官网上写的非常详细,可以看中文的。

代码实现

HTML网页中要提供App Indexing的网址是http://example.com/淘宝店铺ID。淘宝店铺ID是不确定的值。

在AndroidMenifest.xml中声明Intent过滤器。

<activity android:name="com.example.android.GizmosActivity"android:label="@string/title_gizmos" ><intent-filter android:label="@string/filter_title_viewgizmos"><action android:name="android.intent.action.VIEW" /><!-- 可以获取包含 "http://example.com/g23422" 开头的url --><data android:scheme="http"android:host="example.com"android:pathPrefix=".*"<category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /></intent-filter></activity>

可以使用下面两种方式测试是否能跳转到 淘宝店铺ID为【g23422】的app页面:

adb shell am start -a android.intent.action.VIEW -d "http://example.com/g23422" com.example.android

或者在HTML网页上添加:

<a href="intent://example.com/gizmos#Intent;scheme=http;package=com.example.android;end;">http://example.com/g23422
</a>

App Indexing的测试方法

在https://developers.google.com/app-indexing/webmasters/test中输入【android-app://packageName/scheme/host/pathPrefix】。详情请参考下图:

如何判断应用从App Indexing进入的?

方法如下:

 public boolean isCallByAppIndexing(Activity activity) {Intent intent = activity.getIntent(); Uri uri = intent.getData(); if (uri != null) { String scheme = uri.getScheme(); String host = uri.getHost(); if (scheme != null && scheme.equals("http")) { if (host != null && host.equals("example.com")) {return true; } } } return false; }

获取淘宝店铺ID的方法:

    public String getShopId(Activity activity) {String shopId = null;Uri uri = activity.getIntent().getData();if (uri != null) {List<String> list = uri.getPathSegments();shopId = (list == null ? null : list.get(0));}return shopId;}

App Indexing相关推荐

  1. Firebase App Indexing 功能添加

    Firebase App Indexing官方网站: https://firebase.google.com/docs/app-indexing/ 文中的测试资源网站:http://www.hikys ...

  2. 你知道这个C#开发跨平台APP的样例介绍开源项目吗?

    站长英文太差就不翻译了,大家看效果图,都是使用Xamarin.Forms开发的开源移动App介绍,感兴趣的可以访问Github和Gitee仓库看看,下载对应的App项目研究. Github:https ...

  3. Android Studio官方文档之添加URL和App索引支持

    Android Studio官方文档之添加URL和App索引支持 本文由nyk翻译,jkYishon审校. Android Studio可以帮你在App中添加对URLs,app索引,搜索功能的支持.这 ...

  4. App网络性能监控工具调研

    由于工作需要,之前想在我们的盒子上监控网络性能,于是对国内外针对app的网络性能能够进行监控的工具进行了调研,有付费的也有收费的.这里把之前调研的结果整理出来分享给大家. 主要调研了如下三家. 1.听 ...

  5. 2014 I/O归来:Google连接一切

    2019独角兽企业重金招聘Python工程师标准>>> 6月,WWDC 2014与Google I/O  (大部分演讲视频都公开,Youtube需要翻墙,非常值得一看)相继召开.今年 ...

  6. 【推荐】Google告诉你如何做移动搜索的

    长久以来Google的旗舰产品已成为我们生活的一部分.但Google并不认为搜索理所当然就应该是那样的.此文编译自<In The Plex : How Google thinks, Works, ...

  7. 代码提示级别设置 inspection

    配置文件 profile [ˈproʊfaɪl] n.侧面; 外形,轮廓; 人物简介; vt.描-的轮廓; 给-画侧面图; inspection [ɪnˈspɛkʃən] n.检验; 检查; 视察; ...

  8. 开发工具总结(2)之全面总结Android Studio2.X的填坑指南

    前言:好多 Android 开发者都在说Android Studio太坑了,老是出错,导致开发进度变慢,出错了又不知道怎么办,网上去查各种解决方案五花八门,有些可以解决问题,有些就是转来转去的写的很粗 ...

  9. 打开Android Studio报错required plugin “Android Support” is disabled

    打开Android Studio报错 Plugin Error: required plugin "Android Support" is disabled 更详细的错误信息如下: ...

最新文章

  1. 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义
  2. 【Java】leetCode 21 合并两个有序链表
  3. maven私有库搭建
  4. flask html 得到文本框 input的内容_【笔记7】HTML及其常见标签
  5. 结对开发4----最大子数组(大数溢出)
  6. word 2013 题注、图注、插入图片自动修改大小、批量更新题注编号
  7. Nodejs,Npm,React安装教程
  8. 生活中的七个语音识别经典应用
  9. java实现选择排序+图解+代码解析
  10. DAX CRM 模块中需要注意的地方
  11. 二叉树(Binary Tree)
  12. CefSharp方法汇总
  13. HarmonyOS(鸿蒙)——单击事件
  14. html图片平移效果,怎么用CSS移动图片?
  15. U盘(电脑)文件夹变成exe(应用程序)怎么解决
  16. 315前瞻:哪些互联网消费领域今年可能上榜?
  17. vcs_dve+sverilog
  18. 科普:Java 后端开发常用的 10 种第三方服务
  19. 基于Hi3861的听话的狗子
  20. 太吾绘卷第一世攻略_太吾绘卷狮相门第一世打通7剑冢攻略

热门文章

  1. 自媒体人不做广告怎么吃饭
  2. python学习笔记全过程_Python学习过程笔记整理(四)
  3. 虚拟机Linux忘记root密码的解决办法
  4. 东芝有刷直流电机驱动器IC TB67H450FNG
  5. Ubuntu配置连接android手机
  6. Word中给论文添加引用
  7. SQL复杂查询 高速数目和城市数目
  8. SpringCloud Alibaba实战第九课 分布式事务理论、DevOps运维
  9. MetLife - 美国大都会人寿保险公司
  10. SIP-sipp的使用