【友盟+】开发者社区

小白集成友盟自动更新Android2.4.2(图文并茂)

发表于 2015-1-28 14:02:03 | |阅读模式

push更新
push更新 发表于 2015-1-28 14:02:03 | 显示全部楼层 |阅读模式
集成过程客户端集成

首先到友盟官网下载更新的SDK,复制jar包到目标项目中的libs目录:

图片13.png

  配置AndroidManifest.xml

-添加权限:


[Java] 纯文本查看 复制代码
<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_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />

    <!-- Permission for Unit Test -->
    <uses-permission android:name="android.permission.GET_TASKS" />


需要配置的信息:


[Java] 纯文本查看 复制代码
!-- Update Activitys Start -->
        <activity
            android:name="com.umeng.update.UpdateDialogActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
        </activity>

        <!-- Update Activitys End -->
   <!-- Caution! Do not change this app key. It is only for demo usage. -->
        <meta-data
            android:name="UMENG_APPKEY"
            android:value="4f83c5d852701564c0000011" >
        </meta-data>
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="Umeng" >
        </meta-data>

        <service
            android:name="com.umeng.update.net.DownloadingService"
            android:process=":DownloadingService" >
        </service


主要功能

自动更新:

在该情景模式下,如果处于wifi环境,会在进入页面时检查更新,并弹出对话框提示更新,只需要一行代码可以实现。

自动更新.png


检查更新:

无论处于wifi环境还是移动网络环境,都会去检测更新,并且即使用户忽略了该版本也会弹出对话框提示更新。

手动更新.png

功能特色

静默下载:

在该情景模式下,只有当wifi环境时才会去检测更新,发现更新后会在后台静默下载,下载成功时会弹出共质量提示更新。

静默更新.png


自定义更新参数:

开发者可以自定义更新参数,实现不一样的更新方式。
自定义参数.png


DEMO展示

配置AndroidManifest.xml文件

[Java] 纯文本查看 复制代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.umeng.example"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <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_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />

    <!-- Permission for Unit Test -->
    <uses-permission android:name="android.permission.GET_TASKS" />

    <application
        android:debuggable="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <activity
            android:name=".UmengHome"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Fb Activitys Start -->
        <!--
             <activity
            android:label="@string/umeng_example_home_btn_fb"
            android:name=".fb.SimpleExample" />

        -->
        <activity android:name="com.umeng.fb.ConversationActivity" />
        <activity android:name="com.umeng.fb.ContactActivity" />

        <!-- Fb Activitys End -->


        <!-- Update Activitys Start -->
        <activity
            android:name="com.umeng.update.UpdateDialogActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
        </activity>

        <!-- Update Activitys End -->


        <!-- Analytics start -->
        <activity
            android:name=".analytics.AnalyticsHome"
            android:label="@string/umeng_example_home_btn_analytics" >
        </activity>
        <activity android:name=".analytics.WebviewAnalytic" >
        </activity>
        <activity android:name=".analytics.FragmentStack" >
        </activity>
        <activity android:name=".analytics.FragmentTabs" >
        </activity>

        <!-- Analytics end -->
        <activity
            android:name=".update.UpdateHome"
            android:theme="@style/AppTheme" >
        </activity>
        <activity
            android:name=".tools.ToolsHome"
            android:label="@string/umeng_example_home_btn_tools" >
        </activity>
        <activity
            android:name=".fb.FbHome"
            android:label="@string/umeng_example_home_btn_fb" >
        </activity>

        <!-- Caution! Do not change this app key. It is only for demo usage. -->
        <meta-data
            android:name="UMENG_APPKEY"
            android:value="4f83c5d852701564c0000011" >
        </meta-data>
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="Umeng" >
        </meta-data>

        <service
            android:name="com.umeng.update.net.DownloadingService"
            android:process=":DownloadingService" >
        </service>
    </application>

</manifest>

具体所需代码:

自动更新
UmengUpdateAgent.setDefault();
UmengUpdateAgent.update(getActivity());// 自动更新
手动更新
UmengUpdateAgent.forceUpdate(getActivity());// 手动更新
靜默下载
UmengUpdateAgent.silentUpdate(getActivity());// 静默下载
设置Wifi网络检查更新
UpdateExampleConfig.setUpdateOnlyWifi(true);
设置增量更新
UpdateExampleConfig.setDeltaUpdate(true);
设置自动弹出更新提示
UpdateExampleConfig.setUpdateAutoPopup(true)
设置更新下载通知栏是否启动高级样式
UpdateExampleConfig.setRichNotification(true);
设置更新提示方式
UpdateExampleConfig.setDialogStyle(true)
设置更新回调
UmengUpdateAgent.setUpdateListener(null);
设置对话框按钮回调
UmengUpdateAgent.setDialogListener(null);
设置下载回调
UmengUpdateAgent.setDownloadListener(null);

测试日志

请求更新响应json串

图片1.png


开发文档
关于友盟自动更新的Android SDK简单集成指南,
请点击查看
在使用友盟自动更新中遇到问题的请点击参考友盟自动更新问题索引
注:本文章改编自DevStore 官网。







上一篇:友盟更新可以自己制定下载的路径吗?
下一篇:自动更新,。出错

您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

U-App即将升级,一站式运营你的“超级用户”
底部大福利,可优先体验内测账号哦~ 超级用户火了,因为互联网公司都感受到存量竞争的压力,App的运营核心
关于事件计算口径变更说明(2018.5.15)
影响范围:AppTrack产品全局数据1)计算基准的变更事件计算的周期基准变更:计算基于点击发生日期后续15天
友盟+大揭秘:阿里“亲橙里”的数据黑科技
4月28日,阿里首个智慧商业亲橙里开业。汇集盒马鲜生、天猫国际、天猫精灵、阿里小厨等众多业态,亲橙里通

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

返回列表