一、廣告歸因概述
隨著安卓版本的變化,許多用於廣告歸因的資料優先順序也產生變化,尤其2020年安卓10版本開始無法獲取imei 。
所謂廣告歸因,是指投入到廣告平臺(如頭條)所帶來的使用者的裝置匹配,通常是以使用者在廣告平臺上的點選事件與安裝我方應用後首次開啟的啟用事件,作為匹配標準。對於廣告平臺和我方應用,兩個不同廠家之間的使用者進行匹配,則需要一個雙方一致的裝置引數作為媒介。基本流程為:
1、我方後臺根據廣告平臺的文件,製作填寫廣告短鏈,市場人員投放廣告;
2、使用者在廣告平臺點選事件;
3、廣告平臺傳送含使用者裝置資訊的廣告短鏈到我方後臺,我方後臺儲存相關資訊;
4、使用者下載並安裝我方應用,我方讀取使用者裝置資訊;
5、我方(啟用)裝置資訊與廣告短鏈(點選)裝置資訊,進行查詢匹配,若有匹配的裝置引數,則為該廣告帶來的使用者;
廣告短鏈示例:
https://api.myhost.com/ad/toutiao/click?adkey=asdfjkl&adid=__AID__&imei=__IMEI__&mac=__MAC__&androidid=__ANDROIDID__&ip=__IP__&oaid=__OAID__&os=__OS__&ts=__TS__&callback=__CALLBACK__
其中可用於廣告歸因的引數有:裝置IMEI、手機網路卡MAC地址、安卓ID、IP地址、中信院搞的OAID
二、安卓標識引數的功能性對比
安卓ID:安卓8開始,不同應用取得的安卓ID不再相同,只有安卓7或更老的裝置可以用安卓ID來作廣告歸因。
IP地址:所有版本手機均可獲取,但因同一wifi,所有裝置的外網IP都相同,還有可能使用者會切換網路,路由器多出口IP切換等;導致IP不一致,誤差較大,應作為最後的補充匹配。
IMEI:安卓10以前可用,需要使用者授權,安卓10版本開始不可用,還需其他補充方案。
MAC地址:看程式碼相容性,有的廣告平臺,獲取不到高版本安卓的MAC地址,雖然我們自己的應用可以讀取全版本安卓的MAC。
OAID:中信院聯合國產手機廠商推出的,用於解決高版本IMEI無法使用的問題,可與IMEI作互補方案,2020年各大廣告平臺都提醒開發者增加OAID作為歸因資料(注意:海外手機沒有OAID)。OAID策略類似於蘋果的idfa,手機使用者可以重置或關閉。
小提示:安卓11的限制是,/Android/data 資料夾無法讀寫
最後我們採取的方案是,以優先順序按順序匹配,IMEI > OAID > MAC > ANDROIDID > IP,如果都沒有匹配上,則為自然量。
三、投放分包
我們每個渠道每個投放人員都有一個獨立的遊戲包,用於區分資料。如果用傳統方法打包,每次出包都要打幾十個投放人員的分包,顯示效率很低,那有沒有更好的方法呢?
當然是有的,眾所周知,APK檔案本質其實是一個壓縮包。每個包裡做一個標識檔案,每個人員的包只要放置一個不同的標識檔案(如 META-INF/mych_123_toutiao ),安卓程式碼裡就可以用此標識檔案區分不同的人員包。
但是某些應用設定的簽名安全性比較高(約2019年開始),簽名後修改包內檔案內容,會導致簽名失效,apk無法安裝。我們需要另外方法來放置標識。
正如前面所說APK的檔案是一個壓縮包,而壓縮包正好有一個特性,就是可以新增壓縮包註釋。我們應用在安裝後,可以讀取此包註釋作為不同人員包的區分標識。
另外注意:360壓縮新增的註釋會多帶一個不可見的結尾字元,除錯時建議使用winRAR新增,或自己寫程式碼指令碼新增。