騰訊Bugly全量更新快速集成(自動檢查、手動檢查加界面紅點展示、自定義更新彈框UI佈局)

一、添加依賴導入升級SDK

 

implementation 'com.tencent.bugly:crashreport_upgrade:latest.release'
implementation 'com.tencent.bugly:nativecrashreport:latest.release' 

注意:升級SDK已經集成crash上報功能,已經集成Bugly的用戶需要註釋掉原來Bugly的jcenter庫; 

 

 

二、各項參數配置(權限聲明、Activity配置、FileProvider配置):

 

① 權限聲明:

<!-- 騰訊bugly及應用更新所需權限 -->
<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.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

② Activity配置,在<application>標籤中加入部分:

<activity
    android:name="com.tencent.bugly.beta.ui.BetaActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|locale"
    android:theme="@android:style/Theme.Translucent" />

③ FileProvider配置,在<application>標籤中加入部分:

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="${applicationId}.fileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths"/>
</provider>

 

 

三、初始化SDK:

 

Bugly.init(getApplicationContext(), "申請的應用APPId", false); //(必填)初始化,可在application中設置,也可在APP進入主窗口後(MainActivity)需要時設置

Beta.autoCheckUpgrade = false;  //(可選)true表示初始化時自動檢查升級; false表示不會自動檢查升級,需要手動調用Beta.checkUpgrade()方法;

 

經過上面三步,bugly升級SDK算是集成好了,下面來看如何使用。

 

 

四、發佈新版本

 

1.進入內測分發頁面選擇註冊的APP,選擇全量更新,點擊應用升級下的發佈新版本,上傳要升級的APP的版本(上傳APP的versioncode必須不低於外發版本的versiocode,否則用戶檢測不到更新

 

2.使用默認策略配置,點擊創建策略

 

3.策略創建完成後會回到版本編輯界面,點擊啓動,使策略生效

 

 

 

 

五、驗證策略是否開啓,體驗Bugly版本更新

 

啓動策略後會有大概5分鐘以上的延遲,可在設備上安裝低版本的APP,延遲過後進入應用便會看到更新提示框

上面的更新彈出框爲bugly的自動檢測提示,有時候需要用戶手動檢測,bugly爲大家提供了些SDK高級配置的參考文檔(傳送門:Bugly Android 應用升級 SDK 高級配置),我在demo中用到了Beta.checkUpgrade()方法(手動檢測更新)和接口UpgradeInfo(獲取本地已有升級策略,非實時,可用於界面紅點展示),效果如下圖;

1)關於手動檢測更新:需要在代碼中用到的地方手動調用 Beta.checkUpgrade() 方法;

2)關於界面紅點展示(我在demo中設置爲有新版本時加載按鈕右上角呈現紅點,沒有新版本時右上角呈現灰點或者不顯示):在代碼中需要的地方調用 Beta.getUpgradeInfo() 方法獲取本地已有的升級策略進行判斷,爲空(null)則無新版本。

 

3)接下來再看下高級設置中的自定義更新彈出框樣式,我們可以根據自己需求更改更新彈出框的樣式,設置自定義升級對話框UI佈局的方法如下:

Beta.upgradeDialogLayoutId = R.layout.upgrade_dialog;

upgrade_dialog爲項目的佈局資源,可根據需要自己命名,除此之外用戶要按要求給控件添加tag標籤:

  • 標題:beta_title,如:android:tag="beta_title"

  • 升級信息:beta_upgrade_info 如: android:tag="beta_upgrade_info"

  • 更新屬性:beta_upgrade_feature 如: android:tag="beta_upgrade_feature"

  • 取消按鈕:beta_cancel_button 如:android:tag="beta_cancel_button"

  • 確定按鈕:beta_confirm_button 如:android:tag="beta_confirm_button"

注意:tag標籤要對應的添加到你自己UI佈局中的相關功能控件上,比如你佈局上一個方形按鈕是用戶點擊後確定升級的,設置的tag標籤就要是:android:tag="beta_confirm_button" ,可以參考我的 自定義UI佈局xml文件。只要給控件添加上這幾個必要的tag標籤,升級對話框的UI我們就可以根據自己需要設置了,我設置的樣式如下圖(資源文件可在我的項目中下載:項目地址):

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章