我們都知道,在app開發(fā)完成發(fā)版的時候桐早,會上傳到各個應用市場癣缅,來增加用戶量,但是這些市場往往會有一個審核的周期哄酝,等審核通過之后才會推送給用戶來下載友存,并且,當我們某個版本出現(xiàn)嚴重bug陶衅,或者新增了一個特色功能的時候屡立,我們會希望用戶很快就能更新我們最新的app,這時候就要用到 應用檢測更新
了搀军。
通常膨俐,實現(xiàn)應用更新一般我們有兩種方法。
第一種 自己搭建后臺檢測是否有更新
這種方法通常要求客戶端啟動后罩句,在某個時機焚刺,利用當前版本的某些信息(版本號,渠道號等)來請求服務器门烂,服務器處理后返回是否需要升級等信息乳愉。如果需要升級,則下載最新的App安裝包進行安裝诅福。
第二種 利用現(xiàn)有的比較成熟的第三方框架
現(xiàn)有的用戶量比較大的有友盟匾委,騰訊bugly,訊飛平臺等氓润。
公司最開始用的是友盟自動更新 赂乐,但是由于某些原因,10.15友盟會關閉自動更新這個服務咖气,對比了幾個比較成熟的第三方自動更新挨措,最后決定使用bugly這個挖滤,集成和使用也比較簡單,下面來詳細介紹集成和使用步驟浅役。
1.注冊bugly賬號以及添加產品
在https://bugly.qq.com 這個網(wǎng)址直接用qq登錄斩松,然后點擊右上角-我的產品,如果沒有添加過產品的話觉既,點擊 新建產品 惧盹,
然后會跳轉到另一個頁面:
帶星號的是必填選項,當我們把必填信息填寫完成后瞪讼,點擊最下方的保存按鈕即可保存钧椰。
此時再次點擊右上角-我的產品,就會看到我們新建的這個產品了符欠,點擊某個產品嫡霞,會跳轉到產品詳情界面,在右上角-更多-產品設置中可以查詢到改產品的AppId希柿,這里就不放圖了诊沪。
2.在項目中集成
1.新建一個項目,在app目錄下的gradle文件中添加如下配置:
defaultConfig 下:
ndk {
//設置支持的SO庫架構
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
dependencies 下:
compile 'com.tencent.bugly:crashreport_upgrade:latest.release'//其中l(wèi)atest.release指代最新版本號曾撤,也可以指定明確的版本號端姚,例如1.0.0
compile 'com.tencent.bugly:nativecrashreport:latest.release' //其中l(wèi)atest.release指代最新版本號,也可以指定明確的版本號盾戴,例如2.2.0
2.AndroidMainfest相關配置
權限配置:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" /><!--保存資源到SD卡--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Activity配置:
<activity android:name="com.tencent.bugly.beta.ui.BetaActivity" android:theme="@android:style/Theme.Translucent" />
混淆:
-keep public class com.tencent.bugly.**{*;}
3.代碼中使用
在應用初始化的時候調用Bugly.init(getApplicationContext(), "注冊時申請的APPID", false)
即可寄锐。
3.在bugly后臺發(fā)布新版本
在bugly后臺我們點擊某個產品,會進入產品詳情頁面尖啡,
點擊應用升級-發(fā)布新升級,這時會彈出一個對話框剩膘,讓我們選擇升級的設置(策略)衅斩,這里直接放一張官網(wǎng)的圖:
可以看到,我們可以設置很多升級相關的內容:
1.升級方式-用戶選擇升級或者強制升級怠褐。
2.彈窗樣式-可以簡單的向用戶展示版本信息畏梆,更新日志等,也可以添加圖片banner給用戶奈懒,誘導升級奠涌。
3.高級配置-升級的觸發(fā)時機等(某些渠道單獨升級,在某個時間段才彈窗提示用戶升級等磷杏。)
設置完成后點擊 創(chuàng)建策略 溜畅,然后刷新 應用升級 頁面,會看到我們創(chuàng)建的策略极祸。
我這個升級策略已經(jīng)啟動了慈格,如果你的沒有啟動怠晴,將鼠標放到策略的 狀態(tài)與操作 欄下,會提示你進行開啟浴捆。當策略開啟后蒜田,客戶端打開以后,默認在3s后檢測是否有新版本选泻,如果檢測到的話冲粤,就會彈窗提示用戶升級。
注意:發(fā)布升級的版本的版本號必須大于客戶端已安裝版本的版本號页眯,否則將會檢測不到新版本色解。
以上是使用bugly進行版本升級的最基本的使用方法,我們還可以有一個復雜的操作餐茵,比如在代碼中添加多渠道 以支持按渠道升級等科阎。