阐述
内部测试、对外推广时开发人员往往需要将安装包以二维码的方式进行分发,但通常是苹果App、安卓App各一个二维码。如何实现一个二维码同时支持苹果App下载和安卓App下载呢?(安卓设备扫描下载安卓包,苹果设备扫描下载苹果包)
探索
发现草料二维码提供相应的解决工具,本着研究的态度,用抓包工具 Charles 采集了其生成的二维码扫描后的网络信息状态。
通过研究网络交互信息,可以得出如下结论:
- 二维码所对应的信息实为一个网页的跳转地址
- 该跳转地址获取移动设备信息
- 设备有关信息将发送给某个服务器
- 服务器返回真正需要使用的地址
草料二维码在活码的有关介绍更加印证上方得出的结论。
猜想实现方案
- 向后台提供需要区分的信息,如Andriod App下载地址、iOS App下载地址
- 后台在数据库中进行保存
- 后台生成一个对外交互Web地址(Web能够获取设备信息)
- 将Web地址生成对应二维码
- 用户设备通过二维码访问Web地址时,Web获取设备信息
- Web发送设备信息给后台
- 后台根据信息返回给设备真正的信息
业务拓展
- 在对外地址不变时,后台可以更改所提供的信息
- 二维码扫描数据可以统计,监控扫描情况