公司最近擴(kuò)展業(yè)務(wù)到海外,因此,需要把App上架到Google Play市場,當(dāng)時(shí)一臉茫然,不知道如何上架,后來網(wǎng)上查詢了一些資料,以及實(shí)戰(zhàn)后,遇到了一些坑,再次記錄下來,供大家參考借鑒
一、前提條件
具備科學(xué)上網(wǎng)
申請一個(gè)Google Play開發(fā)者賬號,需要支付25美刀,賬號注冊地址:https://accounts.google.com/SignUp
二、創(chuàng)建上架App
根據(jù)注冊的開發(fā)者賬號,登入開發(fā)者平臺https://play.google.com/apps/publish ,然后點(diǎn)擊創(chuàng)建應(yīng)用
選擇語言與App名稱,語言最好選擇英文,畢竟是給國外的人用,然后創(chuàng)建
資料的填寫,上面寫的很詳細(xì),星號必填,按照指示填寫即可,需要注意的是,手機(jī)號的填寫,光寫手機(jī)號提交會(huì)提示”錯(cuò)誤手機(jī)號碼“,原因是海外需要+86,所以你需要填寫+86XXXXXXXXXX,XXX為手機(jī)號碼,即可
隱私政策,剛開始一臉懵逼,其實(shí)就是一個(gè)靜態(tài)Html頁面,里面寫一些保證書之類的,保證不會(huì)把用戶隱私泄露出去,這個(gè)相當(dāng)于國內(nèi)注冊的時(shí)候,都需要勾選的用戶協(xié)議,并且必須同意的H5界面,我就是把我們App的用戶協(xié)議放上去,沒什么問題,都填寫完,點(diǎn)擊保存草稿
三、上傳項(xiàng)目以及內(nèi)容分級
剛剛填寫的資料都在商品詳情欄目里,如果有需要修改的,還可以到此模塊繼續(xù)修改,之后要做的是Apk上傳,點(diǎn)擊應(yīng)用版本,里面分為三種正式報(bào)、Beta版、Alpha版,正式的App建議在內(nèi)測階段先上傳Alpha和Beta版本
我先創(chuàng)建的是Beta版,點(diǎn)擊管理,進(jìn)入Beta版界面,然后創(chuàng)建版本
會(huì)有個(gè)簽名詢問,點(diǎn)擊繼續(xù),然后就到了我們熟悉的界面,上傳Apk項(xiàng)目,這里有一個(gè)坑,就是google play不允許上傳相同版本號的Apk,比如,你上傳了一個(gè)版本號為10的項(xiàng)目,后來發(fā)現(xiàn)一個(gè)bug,緊急修復(fù)后,版本號不想改動(dòng),想直接替換之前那個(gè)版本號為10的項(xiàng)目,提交后應(yīng)用平臺會(huì)提示,已提交過版本號為10的項(xiàng)目,就是該平臺不提供刪除之前包,和替換之前包的功能,只可以通過版本升級來提交Apk包,所以我只能將版本號改為11,如果有其他辦法,歡迎留言向我拍磚
內(nèi)容分析需要Apk上傳成功才可以填寫,其實(shí)就是一些問卷調(diào)查,按照流程走即可,沒有什么坑,當(dāng)執(zhí)行完上面說的四個(gè)步驟,對應(yīng)的那四個(gè)模塊都會(huì)打綠色的鉤,只有四個(gè)都變綠色了,點(diǎn)擊商品詳情才會(huì)出現(xiàn)可以發(fā)布字樣,如果有未變綠的,把鼠標(biāo)放到灰色鉤上,會(huì)提示,什么信息未補(bǔ)全,按照提示操作即可
四、發(fā)布項(xiàng)目
點(diǎn)擊應(yīng)用版本,在正式版里選擇修改版本
輸入更新版本說明,記得用英文的說明,之后點(diǎn)擊查看
核對信息后,點(diǎn)擊開始發(fā)布正式版就可以了,一般審核在一小時(shí)左右,我寫完這篇文章,剛好就審核過了,挺快的~
補(bǔ)充一個(gè),發(fā)布最好先發(fā)布測試版,等測試版審核通過,再發(fā)布正式的,原因就是,代碼君之前閑麻煩直接上正式,但是遇到審核不通過,再修改,再提交,依然審核不通過,不通過原因是測試版的代碼沒更新過來,所以又要去測試環(huán)境改,很麻煩,與其這樣,還不如按照流程,測試通過了,再上正式環(huán)境比較穩(wěn)妥
五、上架的一些坑總結(jié)
手機(jī)號碼需要輸入+86XXXXXX,XXX為手機(jī)號碼
修改過的Apk版本號需要升級,不可再用之前的版本號
Google Play會(huì)強(qiáng)制開發(fā)者適配最新包的SDK,代碼君當(dāng)時(shí)只適配了Android6.0,目前最新是8.0,平臺要求App必須適配到8.0才可以上架
審核中遇到了審核被拒的情況,被拒理由,違反了谷歌安全WebView SSL Error Handler,大致原因就是,你在WebView里面重寫了方法onReceivedSslError,此方法是當(dāng)SSL證書驗(yàn)證失敗會(huì)回調(diào),Google Play的意思就是,當(dāng)驗(yàn)證SSL證書回調(diào)無效后,需要告訴用戶,讓用戶有知情權(quán),選擇是否繼續(xù)訪問WebView里面的網(wǎng)頁,這樣如果用戶選擇繼續(xù)的話,他們就不用背鍋啦,哈哈哈,開玩笑啦,其實(shí)這樣強(qiáng)制要求也是為了防止黑客的攻擊,我們程序員是要大大的支持地!,不廢話了,直接貼上代碼,如果有遇到此問題的直接從把下面的代碼,拷貝到你們WebView里面的onReceivedSslError方法里。修改后從新發(fā)布就可以了,好像即使發(fā)布修復(fù)后的版本,也那個(gè)違反我們的惡意行為或用戶數(shù)據(jù)政策的提示框不會(huì)里面小時(shí)掉,需要幾個(gè)小時(shí)的驗(yàn)證,莫慌哈~
public void onReceivedSslError(WebView view,SslErrorHandler handler,SslError error){
final SslErrorHandler mHandler;
mHandler=handler;
AlertDialog.Builder builder=new AlertDialog.Builder(activity);
builder.setMessage("ssl證書驗(yàn)證失敗");
builder.setPositiveButton("繼續(xù)",new DialogInterface.OnClickListener(){
Override
public void onClick(DialogInterface dialog,int which){
mHandler.proceed();
}
});
builder.setNegativeButton("取消",new DialogInterface.OnClickListener(){
Override
public void onClick(DialogInterface dialog,int which){
mHandler.cancel();
}
});
builder.setOnKeyListener(new DialogInterface.OnKeyListener(){
Override
public boolean onKey(DialogInterface dialog,int keyCode,KeyEvent event){
if(event.getAction()==KeyEvent.ACTION_UP&&keyCode==KeyEvent.KEYCODE_BACK){
mHandler.cancel();
dialog.dismiss();
return true;
}
return false;
}
});
AlertDialog dialog=builder.create();
dialog.show();
}
Google Play上架總結(jié)
這此上架Google Play一個(gè)很深的感受是,別人家的應(yīng)用平臺做的怎么那么好,比起國內(nèi)各大應(yīng)用市場都好,說幾點(diǎn)是國內(nèi)應(yīng)用市場平臺無法比的,
Google Play自帶崩潰日志、以及用戶下載量、下載機(jī)型、日活統(tǒng)計(jì)等,這國內(nèi)的其他平臺是不具備的,一般還需要再集成友盟才可以做到這些
審核速度,Google Play應(yīng)該是機(jī)器審核,審核速度很快,相信里面的算法也很強(qiáng)大,目前華為好像也開始逐步機(jī)器審核了,這樣的好處是審核效率高,減少大量的人工審核成本