App從備案到上架(國內各大應用市場)全過程
發布時間:2021-07-18閱讀次數:4248
目前各大應用市場陸續推出聲明,各種備案截止日期到12月就要到最后期限責令整改不讓更新,明年再不整改就面臨下架風險。
那么如何進行App的各種備案大家有頭緒嗎?如果是一個新的App如何從新開始上架需要經歷哪些步驟,會踩到哪些坑?
從域名備案,IPC備案,App網安備案,隱私協議檢測,到上架各大應用市場的隱私檢測,證件查驗,功能確認提出整改。
雖然本次上架的是Flutter App但是Android App完全可以參考使用。
下面就從隱私協議,網安備案,應用市場審核三座大山一并講來,到底有哪需要注意的點和容易踩的坑。
一、隱私協議
說一下需要注意的點和踩坑的點。
1.應用啟動的協議彈窗
大家應該使用App都遇到過這樣的應用啟動彈窗:
大家了解最多的就是這個,我們需要在應用啟動的時候彈出權限聲明彈窗,附上隱私協議與用戶協議。
大致包括一些敏感信息的收集,數據安全的聲明,敏感權限的使用聲明,第三方庫的收集信息聲明,自啟動相關聲明,個性化推薦相關聲明等等。
2.延遲初始化,ContentProvider自動初始化?
我們現在就不能在Application應用啟動的時候就初始化第三方插件了,需要在用戶同意協議之后才能初始化,所以才有延遲初始化這么個說法。
那前兩年很流行的ContentProvider自動初始化技術怎么辦?那我走?
Flutter應用可以在main.dart中創建app的時候彈窗,也可以在Splash頁面中檢測彈窗都可以。Android App也是同樣的做法,可以在Application中檢測也可以在Splash頁面中檢測。
如果有第三方SDK在沒有用戶授權的前提下偷偷的初始化了,被檢測出來將會不予通過。
3.瀏覽模式
其實網安檢測,只需要在不同意協議的時候退出應用就可以通過,但是部分應用市場需要提供瀏覽模式,你不能暴力的讓用戶退出。
就算用戶沒有同意協議,就算一些第三方不能初始化,就算不能登錄注冊收集用戶敏感信息,用戶也要能瀏覽應用的基本功能。所以開發者就要推出瀏覽模式。
我們可以進入一些基本的功能頁面,在底部或頂部展示授權的彈窗,讓用戶同意隱私協議之后享受完整功能。
4.個人信息收集,設備ID收集
這個應該不會有什么問題,隱私協議中需要聲明,收集用戶哪些信息,收集設備哪些信息,用于干什么怎么保存是否加密等等。有限不包括設備ID,運營商,用戶ID,設備SN,用戶信息等等。
5.危險權限聲明
我們的應用會使用哪些危險權限,用于做什么用途,危險權限包括:相機,存儲卡,定位,麥克風。
比較難搞的就是一些第三方SDK聲明了一些鬼權限我們用不到的,比如我只想用相冊,為什么給我麥克風權限...
如果要修改只能自己手動改。
6.第三方SDK收集信息聲明
微信,騰訊,百度,極光,等等使用了哪些第三方庫都需要聲明。
比如百度定位收集經緯度,怎么保存,用于什么用途等等。
比如極光推送會收集IMEI MAC地址設備ID,軟件安裝列表,自啟動等等。
有一點比較難搞的就是收集一些說不清的信息,比如Bugly你收集崩潰信息就算了,為什么還要手機應用安裝列表的信息。
可能Bugly的Native版本更新了這個問題,可是Flutter插件比較老,如果每一個第三方都需要這么分別搞Native的橋接,那還是有很大的工作量的。
7.注銷賬號功能
這個功能,iOS市場和谷歌市場都有相關要求,不難理解,只需要在設置頁面加上就行。
8.默認勾選協議
包括登錄,注冊的協議CheckBox,包括一鍵登錄頁面中的協議CheckBox,都不能默認勾選,需要用戶手動勾選或者彈窗勾選。
9.自啟動
這個不是保活啊,一般自啟動都是推送相關SDK需要用到,例如極光和個推。
我們需要在隱私協議中聲明為什么需要自啟動即可。
10.廣告的倒計時
廣告倒計時不能超過5秒,并且要可以關閉,規范點擊范圍,并且明確表示跳過廣告的文本。
11.推送與個性化推薦
推送與個性化推薦是不同的兩個東西,推送是基于用戶信息給用戶發送通知。
需要在設置中提供關閉推送的開關。
個性化推薦是手機用戶信息,大數據分析用戶tag,展示不同的信息流。如果你的應用沒有個性化推薦千萬不要加這種文本。
如果你的應用有個性化推薦,那么就要提供相應的相應關閉個性化推薦的開關。并且開啟和關閉之后信息流會發送明顯的變化,如果開啟和關閉信息流沒有變化就會無法通過隱私協議審核。
關于隱私方面其實大家可以白嫖小米開放平臺的隱私檢測,上架小米市場可以先檢查應用的隱私協議,只要它能審核過了,除了華為市場其他市場都沒問題,它是相對比較嚴格的,而華為市場再另一層,后面單獨講它。
二、網安備案
App備案流程分為服務器域名備案,IPC備案,網安備案。
我們都可以通過阿里云來申請,這里我不打廣告,有興趣的可以自己去阿里云官網去查找。只需要填寫相關公司信息和實名信息不難通過,難的是App網安備案。
網絡安全備案的流程是先申請,然后工作人員到公司實地考察,然后委托第三方對App進行安全審查,審查通過之后完成備案可在全國互聯網安全管理服務平臺查看。
國內各大應用市場主要是需要應用去申請這個備案。
具體的復雜流程就是這個第三方審查機構,各個城市可能第三方的審核機構都不同,我們這里是某邦平臺,下面開始踩坑。
提交開發好的App包WX發給對方的對接人員,他們檢測之后會出具檢測報告,大概100頁左右。
由于第一次我太天真以為只是掃掃毒查查隱私的什么的,沒有加固直接給他們了,結果:
原來審查這么嚴格,他們的要求是整改全部的中風險和高風險。
趕緊使用某60加固之后再次提交試試,結果確實少了很多,但是剩下的都是一些頑固問題。
一些第三方SDK中四大組件的一些問題很難搞,可能是一些Flutter插件并不是最新的,需要手動的集成Native庫,而一些Native庫里面又嵌套Native,煩不勝煩。
改來改去,拉扯幾個回合,直到最后的一個問題始終解決不了,就是未混淆與反編譯風險。
原始APP混淆之后,反編譯Dex是這樣:
如果使用某60加固之后是這樣:
雖然已經很好了,但是審核機構會說類名沒有混淆,不讓通過,那就用他們自家的加固產品吧。反編譯之后是這樣的:
他們自家的確實是混淆了類名,這樣就能過了?不會!他又會說你的代碼有反編譯風險。
算了算了回歸正題,下面說明一些App安全審查容易中招的點:
1.加固服務,解決了加固問題,WebView相關漏洞攻擊風險,Http漏洞攻擊風險,動態調試攻擊風險,應用克隆”漏洞攻擊風險,動態注入攻擊風險都可以解決。
2.拒絕服務攻擊漏洞
3.代碼混淆處理
4.反編譯風險
5.導出標識和組件權限
可以自己導入修改,也可以使用Gradle插件修改。
6.數據任意備份風險
7.全局異常檢測風險
主要就是這些了。
App安全審核通過之后第三方機構也會審核你應用的隱私協議,只要按照上面的要求來辦基本問題不大。
整改,彈窗上的同意協議與不同意協議的按鈕要明確不能暗示用戶點擊同意。
推送的相關隱私協議聲明了即可。
明確收集的信息哪里存儲如何保證安裝,用于什么用途等等之類。
等一切都通過了,網安會發送短信提示審核通過:
可以在全國互聯網安全管理服務平臺查看了:
三、應用市場上線
關于應用市場上線的部分,其實反倒是國內大部分程序員都熟悉的環節了。
我們上架的平臺是應用寶,小米,華為,Vivo,Oppo,魅族。除了華為應用市場其他的應用市場都大差不差。
唯一的差別可能就是應用寶,小米,vivo他們可以上傳32位包和64位包,華為不支持分開傳但是他支持AAB格式也不錯。
只需要準備好相關的證件,如軟著(電子版也可),營業執照,特殊行業證件(新聞,招聘,勞務派遣等等),各大應用市場的承諾書蓋印公章,上傳包提交審核即可。
如果應用被拒了多半是隱私協議的問題,他們不會過多關心你的應用功能怎么樣,不會給你應用提出意見。
而隱私協議前面說了可以白嫖小米應用市場的隱私協議。
以下是幾個容易踩坑的點:
加固,一定要加固之后再傳包,建議打三個包32位,64位,和全量包,并分別加固。
危險權限需要在上架的時候聲明用途。
部分應用市場需要在上架的時候就需要聲明權限。
自動化測試,小米和華為
一些應用市場需要進云測,我們可以白嫖小米和華為的免費云測時長。
華為應用市場,他們比較人性化了,會對產品提出他們的想法。
比如我們的列表信息沒有舉報功能不夠人性化,用戶體驗不好,OK我們改。
然后說我們應用黑暗模式不完善,OK我們改。
然后說我們提供測試賬號不行,要完善信息通過審核可以測試具體業務邏輯。如購買到商品,申請到工作等。
為什么申請了工作到已工作列表中不展示,因為測試賬號的信用分不夠狀態是待審核,所以這也不行。一定要展示到對應的列表中。
然后再說你權限申請的不對,申請動態權限必須要權限申請彈窗的頂部聲明用途,并且拒絕之后不能再次彈窗申請。
第一點,我們的做法是需要在申請權限的時候彈出Dialog,我們一些第三方的如相機相冊都是庫里面自己申請權限的,現在要我們要在使用功能前自己申請了。這樣才能控制在哪個頁面彈出Dialog展示對應的權限說明。
關于第二點,為什么拒絕之后不能再次彈窗,很不能理解,萬一用戶點錯了拒絕了權限,他再想統一權限你知道有多麻煩嗎?用戶要自己去設置中找到權限再找到自己的app再去打開對應的權限,一般用戶真的會嗎?
我們一般的做法就是彈窗是否再次授權,如果超過二次拒絕就會彈窗給他直接跳轉到應用的設置。華為就直接不讓彈窗了。
另外證件不夠,需要額外的增值電信業務經營許可證。
再就是應用名稱有類似的,需要提供品牌證明,好吧我們得注冊品牌申請專利和Logo等操作。
不過說到底是為了你自己的應用質量把關和提意見,蠻好的。
特別強調的一點是華為應用市場會把審核失敗所有的問題一次性給你這點就特別好。
總結一句除了華為應用市場其他的都還算順暢,特別是你過了網安的審查和隱私審查之后基本問題不大了。