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