近期谷歌下架了600多款安卓應(yīng)用,App被暫停、下架,賬號被封停這些事情遇到太多,損失可謂慘重!下面將結(jié)合實際經(jīng)驗分享一下如何應(yīng)對開發(fā)者賬號被封停,2020年2月份以來,Google封禁的力度和技術(shù)水平提升了不少,在踩過很多坑以后,我覺得有必要總結(jié)一下我們踩過的坑,給其它朋友作為參考。
Google封禁關(guān)聯(lián)賬號,主要是把控兩個部分,Google開發(fā)者賬號的申請,申請Google開發(fā)者賬號用的PC,基本原則:一臺PC對應(yīng)一個Google開發(fā)者賬號。
01 PC+香港VPN
更換一臺全新的PC+香港VPN(之前沒用過的),找一個修改PC信息的工具,想走捷徑,可以直接用阿里云在香港的windows云服務(wù)器去申請,這樣可以省去VPN的費用,一臺PC登錄過其他Google開發(fā)者賬號,忘記清除登錄信息,結(jié)果會涼涼。
02 賬號問題
第一次申請時賬號沒問題,等到這個賬號被封,我們更換了windows云服務(wù)器的IP地址和操作系統(tǒng),想再去申請,發(fā)現(xiàn)總是被封,猜測是云服務(wù)器被Google記錄了,具體是通過記錄哪些信息來識別的,還不太清楚。
申請Google開發(fā)者賬號用的支付賬號真實的信用卡,一個信用卡只用來支付一個賬號的費用,第三方虛擬信用卡平臺,我們用的是全球付。和信用卡一樣,一個虛擬信用卡只用來支付一個賬號的費用。
其它每個Google開發(fā)者賬號都要對應(yīng)一套全新的信息。除了上面說的PC和支付賬號外,還包括:手機號,隱私權(quán)網(wǎng)址:我們這邊是先隨便亂填一個,等Google找我們時再填一個正確的,開發(fā)者個人和住址信息。
01 提交到Google上的的apk,靜態(tài)馬甲包,就是指新提交的包和以前被封的包存在相似的地方,被Google檢查出來了,這種是純靜態(tài)檢測,即我們自己解壓apk包就能看到的東西。具體包含哪些呢?
02 Android aar包,Unity游戲必然要引入各種Android aar包,這些包里面一般都是第三方公共的SDK,看起來應(yīng)該沒問題,我們就往aar包加了一個自己的類,結(jié)果就被封了。移除這個類就沒事!
03 解決方案,從0開始導(dǎo)入第三方的SDK,如果自己要新加類,麻煩更換類名和包名,不要和之前提交的一樣,找個第三方加固工具(比如360的應(yīng)用加固),加固一下apk。
04 資源包,也就是apk解壓后assetsinData下的文件(以Unity工程為例)Google是通過比較文件名和文件內(nèi)容的相似度來判斷兩個包是否是馬甲包,不管你是用mono方式打包,還是IL2CPP方式打包,這個目錄下會有一大堆用hash值命名的二進(jìn)制文件,hash值來源于原始的文件名,這意味著如果兩個apk里面有大量的二進(jìn)制文件同名,那么對應(yīng)的也就會有大量的實體資源文件同名,這個很危險。
05 最佳選擇,把用到的資源單獨打一個AssetBundle包,并對這個包進(jìn)行加密(簡單的按位取反就行),這樣就不會有太多二進(jìn)制文件暴露在assetsinData目錄下了,這個最優(yōu)選擇也有個問題,就是如果這次提的包被封了,下次提的包AssetBundle文件就和這次相同了,解決方法就是換一種加密方式。
06 服務(wù)器網(wǎng)絡(luò),如果你提交的包被封了,那么下次提交時一定要更換服務(wù)器的IP地址和域名,很多互金朋友可能不知道,自己游戲的HTTP請求是明文的,就是客戶端發(fā)送給服務(wù)器的HTTP請求把服務(wù)器的域名寫的很清楚,Google會毫不客氣地封掉這個域名,所以光換IP地址,不換服務(wù)器域名,是沒有用的,沒有用的,沒有用的!
07 代碼(針對Unity工程)這個沒什么好說的,直接用IL2CPP方式打包,如果你堅持用mono打包,也可以,自己修改一下libmono.so,實現(xiàn)對dll的加密就行。
總結(jié)
千萬不要去淘寶買Google Play賬號,淘寶那些賣賬號的只顧自己賺錢,一臺機器一張信用卡申請很多賬號,然后賣給你,如果賣出的這些卡號一個有問題,就全部封殺了!切記。實在不行可以掛失你的信用卡,補發(fā)一張給你。注冊手機借朋友的或者用阿里小號就可以了。
IP問題
以前的IP也不能用了,重新?lián)Q個IP地址,電腦問題,建議你換一臺電腦電腦,如果預(yù)算不夠,那么可以租個便宜的云服務(wù)器做個打包平臺,你可以在你的電腦上碼代碼,打包在云服務(wù)器打包,app的代碼和素材以及宣傳等。
谷歌反作弊
如果僅僅前面3步你以為能逃脫強大的Google Ai了?谷歌反作弊系統(tǒng)會分析你的代碼的,以及各種特征。最好的辦法是以前的都不要用了。不然每次封殺你,你可能會懷疑人生,做到以上4點好像看起來就跟以前完全脫離了。沒錯,就是這樣,你一定要把自己當(dāng)做全新的一個開發(fā)者。不要僥幸。你對面的是全球最強大的人工智能。而你只有一個人。
上傳應(yīng)用部分
01 多個馬甲包,隔天上傳,每個馬甲包隔1天上傳,發(fā)布成功一個,則上傳下一個。因為同一天可能被同一個人審核,以避免造成同時被拒/下架
02 用Firefox傳包,據(jù)說可以隔離本地數(shù)據(jù)
03 應(yīng)用描述、應(yīng)用截圖,與之前不同
04 應(yīng)用描述不包含競品品牌詞,apache、base測試版發(fā)布,測試人員賬號,與之前不同
APK打包部分
01 《隱私協(xié)議》《用戶數(shù)據(jù)授權(quán)說明》《其他文本協(xié)議》,與之前不同
02 APP前端文案(展示文案&提示文案…),與之前不同,細(xì)化到每個詞,不僅僅是順序調(diào)整
03 APK內(nèi)數(shù)據(jù)傳送域名、API、IP、域名主體、SSL證書主體,與之前不同
04 APK文案中聯(lián)系方式(WhatsApp、email、手機號、地址…),與之前不同
05 APK內(nèi)三方服務(wù)信息(如firebase、google analytics等),與之前不同
06 APK應(yīng)用簽名,與之前不同
07 APK打包機器和IP,與之前不同
08 代碼混淆,相似度越低越好,相似性<40%,有條件重構(gòu)最好。
09 文件名、類名、協(xié)議名、函數(shù)名、屬性名;圖片、樣式表等資源文件命名及路徑,與之前完全不同
10 APP啟動彈出隱私授權(quán)聲明,需用戶同意,才能進(jìn)入下一環(huán)節(jié),用戶同意后,才可進(jìn)行數(shù)據(jù)采集授權(quán),用戶同意授權(quán)后,才可進(jìn)行數(shù)據(jù)收集
11 圖片、視頻等媒體文件,hash值與之前不同(需打亂)
12 UI與之前完全不同,從外表看與被下架的產(chǎn)品有結(jié)構(gòu)上的區(qū)別