umeng自動更新

1.  Android 自動更新 SDK快速開始

本文檔幫助您以最快速最簡潔的方式集成使用自動更新組件。

1.1   導入SDK所需jar包

下載最新版SDK的zip包,將其中的libs文件夾合併到本地工程libs子目錄下。

Eclipse用戶右鍵工程根目錄,選擇Properties -> Java Build Path -> Libraries,然後點擊Add External JARs... 選擇指向jar的路徑,點擊OK,即導入成功。

注意

Eclipse ADT 17 以上版本用戶,不要通過上述步驟手動添加jar包引用。請在工程目錄下建一個文件夾libs,把jar包直接拷貝到這個文件夾下,再在Eclipse裏面刷新一下工程就好了。詳情請參考Dealing with dependencies in Android projects.

libs目錄下的libs/armeabi/libbspatch.so文件是用於支持增量更新功能的庫文件,也需要在eclipse中添加。

1.2   添加資源文件

將SDK提供的res文件夾拷入工程目錄下, 和工程本身res目錄合併。請不要隨便刪除其中的文件。

提示

友盟SDK提供的資源文件都以umeng_開頭。

1.3   配置AndroidManifest.xml

3.1 打開AndroidManifest.xml,添加SDK需要的權限到<manifest>標籤下:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

android.permission.WRITE_EXTERNAL_STORAGE 權限允許將下載的apk保存到sd卡中。
android.permission.ACCESS_NETWORK_STATE 權限允許檢查網絡狀態,從而根據不同網絡環境決定何種下載策略,務必添加該權限。

3.2 添加APPKEY和渠道到<application>標籤下: (如果已經集成了統計SDK等友盟其他服務,不需要重複添加APPKEY)

<meta-data android:value="YOUR APP KEY" android:name="UMENG_APPKEY"/>
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>

UMENG_APPKEY:用來定位該應用的唯一性,用您該應用的UMENG APPKEY,替換value中的"YOUR APP KEY"。
UMENG_CHANNEL:用來標註應用推廣渠道,不同渠道可以上傳不同更新包,您可以使用20位以內的英文和數字爲渠道定名,替換value中的"Channel ID"。如果不改動,將代表默認渠道。(特別提示:如果需要使用友盟自動更新多渠道更新,必須先集成友盟統計SDK

渠道ID

請參考第5節如何上傳APK。

3.3 添加Service和Activity到<application>標籤下: (請注意:v2.4的SDK中,對話框改爲Activity實現)

注意

com.umeng包名可能有變,如果不能下載,請檢查包名,替換成正確的包名。

<service
    android:name="com.umeng.update.net.DownloadingService"
    android:process=":DownloadingService" >
</service>
<activity 
    android:name="com.umeng.update.UpdateDialogActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >
</activity>

1.4   調用更新接口

主要應用場景:最常見的自動更新模式,當用戶進入應用首頁後,如果處於wifi環境則檢測更新,如果有更新,彈出對話框提示有新版本,用戶點選更新開始下載更新。
在應用程序入口Activity裏的OnCreate() 方法中調用

public void onCreate(Bundle  savedInstanceState) {
    super.onCreate(savedInstanceState);
    UmengUpdateAgent.update(this);

注意

考慮到用戶流量的限制,目前我們默認在Wi-Fi接入情況下才進行自動提醒。如需要在任意網絡環境下都進行更新自動提醒,則請在update調用之前添加以下代碼:UmengUpdateAgent.setUpdateOnlyWifi(false)。 特別提示:針對機頂盒等可能不支持或者沒有無線網絡的設備, 請同樣添加上述代碼。

API:
public static void update(Context context)

v2.4版本之後的SDK中,您可以傳入當前Activity的Context,也可以傳入Application的Context。

1.5   上傳最新的APK

如果開發者已經有了最新的APK版本,只要上傳到友盟網站,同時客戶端版本的版本號(VersionCode)小於上傳的最新版本,客戶端在啓動時就會有更新提示。
上傳位置:登錄友盟開發者後臺,在左上角選擇應用後,右邊可以看到統計分析組件管理三部分。點擊組件,左側就會出現自動更新條目。請點擊進入,即可找到上傳的入口。

注意

上傳APK前,請檢查其VersionCode是否大於舊版本的。 新版本與老版本的簽名要保持一致,否則安卓系統將會提示安裝失敗,無法升級。

如果需要按渠道更新,需要集成友盟統計SDK,在設置了上述3.2中的渠道ID之後,才能夠在“統計分析”-“管理”-“渠道”中看到對應的渠道ID,然後才能在自動更新服務中使用。

1.6   集成檢測

v2.4版本以後的SDK中默認開啓了集成檢測功能,在調用任意的更新接口後,我們將替您自動檢查上述集成過程中2、3兩個步驟是否被正確完成。 如果正確完成不會出現任何提示,否則會以如下的toast提示您。
你可以通過調用UmengUpdateAgent.setUpdateCheckConfig(false)來禁用此功能。

toast的含義如下:

"Please copy all resources (res/) from SDK to your project!":請檢查是不是把res文件夾下所有的資源文件都放到了工程中。
"Please add Permission in AndroidManifest!":請檢查上述步驟1.3中3.1的相關權限是否正確添加。
"Please add Activity in AndroidManifest!":請檢查上述步驟1.3中3.3的Activity是否正確添加。
"Please add Service in AndroidManifest!":請檢查上述步驟1.3中3.3中的Service是否正確添加。
"Please set umeng appkey!":請檢查上述步驟3.2中的APPKEY是否正確添加。

在完成上面的步驟之後,在您的終端上啓動應用,就可以看到彈出的自動更新提示對話框。


//umeng官方網址文檔說明 

//http://dev.umeng.com/auto-update/android-doc/quick-start#1

今天剛剛用,我將AndroidManifext.xml中關於渠道CHANNEL的metal部分刪掉,發現功能可以照常使用,不知道那個有什麼用?

有誰如果知道,希望能夠指點指點~ 


安卓開發小白一枚

發佈了21 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章