闡述
內(nèi)部測試、對外推廣時開發(fā)人員往往需要將安裝包以二維碼的方式進(jìn)行分發(fā),但通常是蘋果App、安卓App各一個二維碼。如何實現(xiàn)一個二維碼同時支持蘋果App下載和安卓App下載呢?(安卓設(shè)備掃描下載安卓包,蘋果設(shè)備掃描下載蘋果包)
探索
發(fā)現(xiàn)草料二維碼提供相應(yīng)的解決工具,本著研究的態(tài)度,用抓包工具 Charles 采集了其生成的二維碼掃描后的網(wǎng)絡(luò)信息狀態(tài)。

網(wǎng)絡(luò)狀態(tài)信息.png
通過研究網(wǎng)絡(luò)交互信息,可以得出如下結(jié)論:
- 二維碼所對應(yīng)的信息實為一個網(wǎng)頁的跳轉(zhuǎn)地址
- 該跳轉(zhuǎn)地址獲取移動設(shè)備信息
- 設(shè)備有關(guān)信息將發(fā)送給某個服務(wù)器
- 服務(wù)器返回真正需要使用的地址
草料二維碼在活碼的有關(guān)介紹更加印證上方得出的結(jié)論。

草料活碼介紹.png
猜想實現(xiàn)方案
- 向后臺提供需要區(qū)分的信息,如Andriod App下載地址、iOS App下載地址
- 后臺在數(shù)據(jù)庫中進(jìn)行保存
- 后臺生成一個對外交互Web地址(Web能夠獲取設(shè)備信息)
- 將Web地址生成對應(yīng)二維碼
- 用戶設(shè)備通過二維碼訪問Web地址時,Web獲取設(shè)備信息
- Web發(fā)送設(shè)備信息給后臺
- 后臺根據(jù)信息返回給設(shè)備真正的信息
業(yè)務(wù)拓展
- 在對外地址不變時,后臺可以更改所提供的信息
- 二維碼掃描數(shù)據(jù)可以統(tǒng)計,監(jiān)控掃描情況