應對移動APP推廣造假 需做好渠道統計分析
而對APP開發者而言,基礎數據不準確,輕則造成自身決策失誤,推廣費用被浪費;重則危害自身風控體系,導致喪失競爭力,被動出局。在資本寒冬的背景下,如何獲取更多的真實用戶已經不僅僅是推廣資金浪費的問題,更關系到企業的生死存亡。
移動開發者想要越走越遠,就必須掌握移動推廣中的真實數據。作為一家專註於移動互聯網的數據服務提供商,Shareinstall提供可信的渠道統計服務,有效杜絕灰色產業鏈的侵蝕。
那麽Shareinstall是如何檢測已經安裝的app呢?
在app推廣過程中,安裝環節是必不可少的。而在安裝app前,必須現要檢測推廣的app是否已經被安裝。這裏以shareinstall的app已安裝檢測技術為例,幫大家了解主流的app已安裝檢測技術原理。
(1)
由於安全隱私的原因,目前在網頁端是無法通過js腳本直接判斷某個APP是否已經安裝,只能首先通過js嘗試性的啟動app,然後再進入安裝流程。web網頁上啟動app的方式有兩種:1)URL Scheme;2)Universal Link
(2)
URL Scheme:
android與ios均支持自定義scheme,通過訪問自定義schema的url即可啟動對應的app,如weixin://dl/scan這個url,這裏的weixin就是自定義的schema。js啟動app的具體方法主要有iframe.src,window.location等,如下:
1.
var iframe = document.createElement("iframe");
iframe.style.display = "none";
iframe.src = schemaUrl;
document.body.appendChild(iframe);
2.
window.location=schemaUrl;
(3)
部分瀏覽器由於人為限制無法直接使用scheme啟動app,例如微信與QQ的內置瀏覽器,但在微信與QQ中,可以通過集成應用寶的微下載來啟動app,下面就來介紹下應用寶的具體情況:
目前主要通過監聽各種dom事件(如:pagehide,visibilitychange,unload等)或通過setTimeout根據時間差來(早期ios系統中,通過schema可立即啟動app,同時導致瀏覽器js腳本暫停運行,腳本恢復運行時通過時間差就能大致的判斷app是否啟動成功)。但現實情況下,由於各種瀏覽器與系統的差異性,無法通過js百分百的準確判斷app是否啟動成功;比如從ios9.2開始,通過schema啟動app時,ios系統會彈出一個非模態的系統提示框,詢問用戶是否同意啟動,在用戶沒有做出選擇前,js腳本將繼續運行,這將導致js完全無法判斷app是否啟動成功。
(4)
Universal Link(通用鏈接):
ios9開始提供通用鏈接的特性,app開發時可配置一個與app對應的關聯域名,在ios9以上系統的所有瀏覽器中,訪問任何一個url鏈接前,系統將檢查本地是否已安裝與url域名相對應的app,如果已安裝對應的app,將進一步檢查鏈接url的路徑,是否應當啟動該app,而不在瀏覽器中訪問此url鏈接。但是通用鏈接存在一個容易讓人迷惑的地方,在經過通用鏈接啟動app後,用戶可以選擇使用safari訪問此url,系統會默默的記住用戶的選擇,在下次訪問通用鏈接的url時,系統將不再啟動app,而是直接在瀏覽器中訪問此url,並且沒有明顯的提示;(在safari中,用戶只有手動往下拽了該頁面時,才會出現一個詢問用戶打開app的banner,其它瀏覽器則未必有此功能,而是完完全全的忽略掉通用鏈接)
(5)
應用寶微下載:
正常情況下,微信內置瀏覽器中,無法通過scheme啟動app,無法下載apk,也無法跳轉到app store,但微信與QQ均集成了對應用寶的支持。通過使用應用寶的微下載功能,android下的微信與QQ幫助判斷某個app是否已安裝,已安裝的情況下,提示用戶直接啟動app(在應用寶中需配置啟動用的scheme),未安裝的情況下,可直接下載已上架到應用寶的apk文件;ios下,由於無法判斷某個應用是否已安裝(特別是ios>=9.2出現的提示窗口),應用寶只提供了跳轉app store的功能,而沒有啟動app的功能。
應對移動APP推廣造假 需做好渠道統計分析