文|三易生活
在快手方面第五次嘗試出海之際,字節(jié)跳動(dòng)的TikTok早已成為了全球范圍內(nèi)的現(xiàn)象級(jí)產(chǎn)品。如今在國(guó)內(nèi)互聯(lián)網(wǎng)行業(yè)幾乎所有的出海產(chǎn)品中,TikTok無(wú)疑是最“能打”的那一個(gè),以至于讓Instagram等海外產(chǎn)品都不得不開(kāi)始短視頻化。但TikTok的強(qiáng)勢(shì)崛起也使得其自兩年前開(kāi)始就一直處于風(fēng)暴的中心,不僅要面對(duì)Meta持續(xù)不斷的輿論攻勢(shì),安全研究人員更是持之以恒地對(duì)其“挑刺”。
日前,安全研究員Felix Krause發(fā)文稱,TikTok在iOS應(yīng)用內(nèi)的瀏覽器中將JavaScript代碼注入外部網(wǎng)站,允許TikTok在用戶與給定網(wǎng)站交互時(shí)監(jiān)控“所有鍵盤(pán)輸入和點(diǎn)擊”,包括密碼和信用卡信息等任何敏感信息。并且這位安全研究員是這樣形容TikTok的行為,“從技術(shù)角度來(lái)看,這相當(dāng)于在第三方網(wǎng)站上安裝鍵盤(pán)記錄器。”
TikTok方面顯然不認(rèn)為自己的做法是惡意的,他們?cè)诼暶髦袕?qiáng)調(diào),相關(guān)JavaScript代碼確實(shí)存在、但這并不意味任何惡意行為,這一代碼僅用于調(diào)試、故障排除和性能監(jiān)控。事實(shí)上,同樣的事情Meta也干了,iOS版的Instagram、Facebook也使用了自家的應(yīng)用內(nèi)瀏覽器,而非蘋(píng)果的Safari瀏覽器,同樣也利用注入JavaScript代碼的方式追蹤用戶的交互、文本選擇,甚至是文本輸入。
需要注意的是,無(wú)論TikTok還是Instagram、Facebook,它們都使用了自己定制的瀏覽器。對(duì)于移動(dòng)互聯(lián)網(wǎng)不了解的朋友可能會(huì)有這樣的疑問(wèn),web端是PC互聯(lián)網(wǎng)時(shí)代的代表,而移動(dòng)互聯(lián)網(wǎng)的象征則是APP,兩者之間是替代關(guān)系,本應(yīng)更“先進(jìn)”的APP里不應(yīng)該內(nèi)置瀏覽器。
然而,APP(應(yīng)用程序)的核心目的是為了實(shí)現(xiàn)某些功能,只要能達(dá)成目的手段并不需要固定,因此使用web端相關(guān)技術(shù)也是可以的。
通常來(lái)說(shuō),當(dāng)下主流的APP開(kāi)發(fā)分為了原生與混合兩種模式。在原生開(kāi)發(fā)模式下,APP是由“云服務(wù)器數(shù)據(jù)+APP應(yīng)用客戶端”兩部分構(gòu)成,APP中的所有頁(yè)面都是用代碼編寫(xiě),其所有的UI、數(shù)據(jù)內(nèi)容、邏輯框架均安裝在移動(dòng)終端上。盡管原生APP可實(shí)現(xiàn)的功能最全、用戶體驗(yàn)更好,而且后期可維護(hù)性、可拓展性都很出色,但代價(jià)就是成本更高、開(kāi)發(fā)周期更長(zhǎng)。
為了節(jié)省開(kāi)發(fā)成本,只需要一套代碼就能做出iOS與Android兩個(gè)版本,許多開(kāi)發(fā)者選擇了基于框架開(kāi)發(fā)的混合開(kāi)發(fā)模式,而這一模式下APP通常是由“HTML5網(wǎng)頁(yè)+APP應(yīng)用客戶端”兩部分構(gòu)成。原生代碼部分利用Web View插件為H5頁(yè)面提供容器,程序主要的業(yè)務(wù)實(shí)現(xiàn)、界面展示都是借助與H5相關(guān)的Web技術(shù)實(shí)現(xiàn),比如京東、淘寶、拼多多的APP就是借助混合開(kāi)發(fā)模式而成。
既然大規(guī)模使用了web技術(shù),用內(nèi)嵌瀏覽器來(lái)實(shí)現(xiàn)更加豐富的功能也就在情理之中了。事實(shí)上,得益于過(guò)去二十余年積累、已經(jīng)非常成熟的web技術(shù),如今相當(dāng)多APP本質(zhì)上就是瀏覽器套了個(gè)APP的外殼,而這樣做的好處就是只需要更新web代碼就能實(shí)現(xiàn)APP功能的更新。當(dāng)然,在APP里內(nèi)置瀏覽器不僅僅是APP混合開(kāi)發(fā)的產(chǎn)物,更有著運(yùn)營(yíng)層面的考量。
要知道,手機(jī)的可視空間如此之小,以至于移動(dòng)操作系統(tǒng)的多任務(wù)操作是非常不利于用戶體驗(yàn)的,并導(dǎo)致用戶每跳出APP一次,就會(huì)增大流失率。為此,開(kāi)發(fā)者自然希望能把用戶盡可能的留在APP里。當(dāng)然,APP里內(nèi)嵌瀏覽器還有一個(gè)很隱秘的作用,那就是非常有利于挖掘用戶數(shù)據(jù)。
就像前文所說(shuō),使用web技術(shù)開(kāi)發(fā)APP帶來(lái)的結(jié)果,就是每次升級(jí)版本只需在服務(wù)器端升級(jí)即可,不再需要上傳到應(yīng)用商店進(jìn)行審核。
眾所周知,蘋(píng)果方面在iOS 14上線了應(yīng)用追蹤透明度(ATT)功能,IDFA(隨機(jī)設(shè)備標(biāo)識(shí)符)會(huì)從默認(rèn)開(kāi)啟變成了使用時(shí)都需要彈出用戶許可對(duì)話框,用戶可自己選擇 “允許追蹤”或 “不允許”。而IDFA的主要功能,就是使廣告商可以更精準(zhǔn)地定位和跟蹤用戶行為,并確保數(shù)據(jù)的穩(wěn)定性和一致性。沒(méi)有IDFA就沒(méi)有全面的用戶數(shù)據(jù)追蹤和收集,也就沒(méi)有了完整的用戶畫(huà)像,自然也就做不到為目標(biāo)用戶提供針對(duì)性的廣告。
ATT對(duì)于iOS生態(tài)的改變其實(shí)很簡(jiǎn)單,那就是將APP采集信息這件事從用戶默認(rèn)同意變?yōu)榱孙@式告知。在ATT功能上線前,iOS用戶是長(zhǎng)期處于被APP開(kāi)發(fā)者和廣告商隱秘追蹤的狀態(tài),但有了ATT后,為了自己的隱私,用戶是不會(huì)再愿意APP追蹤自己的,這就直接導(dǎo)致了Meta等依賴廣告業(yè)務(wù)的互聯(lián)網(wǎng)公司遭遇業(yè)績(jī)下滑的問(wèn)題。
但APP開(kāi)發(fā)者需要通過(guò)廣告變現(xiàn),而蘋(píng)果方面則希望通過(guò)為用戶提供隱私保護(hù)承諾來(lái)增加產(chǎn)品的競(jìng)爭(zhēng)力,雙方的矛盾幾乎是不可調(diào)和的,然而由于蘋(píng)果在iOS生態(tài)中的地位過(guò)于強(qiáng)勢(shì)、ATT是不太可能被取消的,但尋找IDFA的替代品卻是可以的。所以顯而易見(jiàn),此次TikTok、Instagram、Facebook等APP的瀏覽器里注入JavaScript代碼,或許是別有用心。