【友盟+】开发者社区

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

push更新 发表于 2016-8-11 18:01:59 |

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 官网。







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



名字取得妙
名字取得妙 发表于 2015-7-8 14:46:26 | 显示全部楼层
有2个问题想请教一下:
1、友盟自动更新是不是永久免费?
2、使用后,会不会在app中插入广告?


生来平凡
生来平凡 发表于 2015-7-16 18:45:25 | 显示全部楼层
静默下载:
在该情景模式下,只有当wifi环境时才会去检测更新,发现更新后会在后台静默下载,下载成功时会弹出共质量提示更新。

我设置的是静默更新,就是说只会在wifi才会检测更新。那如果我想在3/4G 下检测更新,弹出对话框。在wifi下静默下载,这样是无法实现的是吗?






小小小小
小小小小 发表于 2016-3-16 11:12:21 | 显示全部楼层
收藏了。。。。。

沉浮随风
沉浮随风 发表于 2016-3-18 13:44:17 | 显示全部楼层
集成友盟推送后(unity版本),更集成友盟自动更新(Android)无wire版后,自动更新没反映
消息推送正常,不接推送,只集成有wire版自动更新,更新正常,是怎么回事??

shaodong
shaodong 发表于 2016-8-11 18:01:59 | 显示全部楼层
你想,我想问下,现在你们自动化更新模板关闭了,我们开发者如果手动写更新,怎么实现像你们那样分渠道,求解答.
您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

【报错必看】微信您的应用签名不正确,请去微信后台确认
微信如果提示这个错误,请查看debug日志: 箭头所指的为你当前应用的签名及包名,然后打开你的微信后台
无法检测设备有效性
无法检测设备有效性
自定义事件有消息数量,却看不到详情
集成都是OK的,能看到自定义事件的消息数量。却看不到详细的详情。 总是显示数据无法加载,稍后重试。

关注我们

新浪微博
微信

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

在线客服
返回顶部 返回列表