百度手机助手的下载推广技术研究

如果你用手机打开百度搜索Android应用,百度的web结果页面常常第一个就会命中结果,点击“进入下载”详情页后,你会发现页面右上方有一个大大的橙黄色高速下载按钮。这个高速下载按钮其实是骗点击的,不明真相的群众在点击之后会首先下载百度手机助手,然后再通过百度手机助手去下载你真实想下载的应用。


通过这种推广方式,猜测百度手机助手应该能够赢得不少装机量。姑且不论其做法的对错,技术上这种web和本地应用程序的互动是怎样实现的呢?经过简单调研,我们能够发现如下的蛛丝马迹:

1. 百度手机助手安装之后在本地首先起了一个http server,监听在了Android设备的6259端口。
2. 当用户通过web网页点击安装时,网页端会首先发起一个类似这样的ajax请求来询问是否有安装百度手机助手:
http://127.0.0.1:6259/getpackageinfo?callback=jsonp1&packagename=com.baidu.appsearch
3. 如果机器上有安装百度手机助手的话,则会返回形如下面的响应:
jsonp1 && jsonp1({"error":0,"package_infos":[{"version_name":"5.3","package_name":"com.baidu.appsearch","package_state":1,"version_code":16782394}]});
4. 网页端再通过如下请求来启动手机助手,完成用户点击的应用的下载,下载app id猜测可能在referer里:
http://127.0.0.1:6259/sendintent?callback=jsonp2&intent=http://mo.baidu.com/appsearch/highdownload/AppSearch_4995292_60.apk#Intent;action=com.baidu.appsearch.action.HIGHSPEED;launchFlags=0x10000000;component=com.baidu.appsearch/.UrlHandlerActivity;end
5. 如果在第一步时得到socket异常或者非正常返回值,则web端会触发百度手机助手本身的下载

另外,除了百度手机助手之外,百度视频也监听了6259端口。因此很有可能这种下载推广被做成了一个公共的SDK或者组件被嵌套在了百度系的应用中,有心人可以反编译来继续研究。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,883评论 25赞 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,343评论 19赞 139
  • 产品经理有三大领域的技术需要去攻克,分别是:客户端相关技术、服务端相关技术、交互相关技术 一、客户端相关技术 1....
    Kince_X阅读 3,638评论 8赞 97
  • 转自《人人都是产品经理》,原文链接:写给产品经理技术书 产品经理有三大领域的技术是需要去攻克的,分别是:客户端相关...
    游社长阅读 4,274评论 4赞 79
  • 卸载微信朋友圈已经一个多星期。这事我过去干过不少次,可往往坚持不到三天。因此,“自制力差”是我对自己的评价。前不久...
    HugoYe阅读 934评论 2赞 2

友情链接更多精彩内容