Link

小米应用商店检查更新SDK(下文简写为『检查更新SDK』)帮助您的用户尽快获得最新版本的应用!轻松增加『自动检查更新』功能,通过小米应用商店的CDN服务,快速的把最新版应用推送给用户!

功能特点:

  • 支持增量更新:检查更新SDK会自动识别用户版本,并提供diff包给用户,加速省流
  • 一次发布全面更新:只要在小米应用商店发布新版,所有的用户都可以收到新版发布提醒。
  • 标准Android SDK:无论用户是否使用MIUI,都可以收到更新提醒。
  • 方便省心:无需考虑配置服务器,部署CDN等问题,小米应用商店免费提供。
  • 支持基于设备属性和API-Level的系统版本过滤,会将新版推送给支持的设备。
  • 独家支持:在MIUI系统上支持调用系统商店更新,升级成功率更高!

立即开始集成:

1.Android Studio开发集成

在你的module 的build.gradle文件中加入

compile 'mi-appstore:xiaomi-update-sdk:2.6+'

添加provider(支持Android N)

<provider android:name="android.support.v4.content.FileProvider"
          android:authorities="your_packagename.selfupdate.fileprovider"
          android:exported="false"
          android:grantUriPermissions="true" >
          <meta-data
              android:name="android.support.FILE_PROVIDER_PATHS"
              android:resource="@xml/file_paths" />
</provider>        

说明:
1) Android N开始应用间不允许通过Intent 传递file, 需要提供FileProvider
2) your_packagename需要替换成你的包名

查看最新版本

2. Eclipse集成

点此下载SDK包

添加jar包

下载最新版SDK的zip包并解压缩,将其中的libs 文件夹合并到本地工程libs子目录下。
注:如果libs下有多个arm文件夹,则需要在每个文件夹下都放入libsdk_patcher_jni.so文件。
Eclipse用户右键工程根目录,选择Properties -> Java Build Path -> Libraries,然后点击Add External JARs... 选择指向xiaomi_sdk.jar的路径,点击OK,即导入成功。

添加资源文件

将SDK提供的res文件夹拷入工程目录下, 和工程本身res目录合并。
请注意: 小米SDK提供的资源文件都以xiaomi_开头。

在AndroidManifest.xml文件中添加SDK信息

添加检查更新需要的权限

打开AndroidManifest.xml,添加SDK需要的权限到<manifest>标签下:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="com.xiaomi.market.sdk.UPDATE" />

添加Receiver

<receiver android:name="com.xiaomi.market.sdk.DownloadCompleteReceiver" >
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
</intent-filter>
</receiver>
说明:SDK调用系统下载管理器进行下载,需要注册receiver,在下载完成后进行增量包合成与安装

添加provider(支持Android N)

<provider android:name="android.support.v4.content.FileProvider"
          android:authorities="your_packagename.selfupdate.fileprovider"
          android:exported="false"
          android:grantUriPermissions="true" >
          <meta-data
              android:name="android.support.FILE_PROVIDER_PATHS"
              android:resource="@xml/file_paths" />
</provider>
说明:
1. Android N开始应用间不允许通过Intent 传递file, 需要提供FileProvider
2. your_packagename需要替换成你的包名        

集成SDK代码

在应用程序入口Activity里的OnCreate() 方法中调用

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
XiaomiUpdateAgent.update(this);  //这种情况下, 若本地版本是debug版本则使用沙盒环境,否则使用线上环境
或:
XiaomiUpdateAgent.update(this,true) //第二个参数为true时使用沙盒环境,否则使用线上环境
- public void update(Context context)
- public void arrange()
 在update返回结果以后,可以调用,使SDK继续进行下载安装等事宜
 注:在检查更新结果非STATUS_UPDATE时,请不要调用此接口

Done! 集成成功!

现在只要在小米应用商店发布应用,您的用户就会收到更新提醒了!

Tips:

  1. 新版本App要在小米应用商店上架之后,才能检查到更新
  2. 考虑到集成检查更新SDK的版本分发也需要时间,建议您尽早集成

Changelog:

  • (New)Ver 0.6更新点是 优化 沙盒测试中的包也可以正常下载  2014-10-29
  • Ver 0.5 增加数据传输的可靠性  2014-10-09
  • Ver 0.4 修复增量更新库加载失败导致的FC问题     2014-4-15
  • Ver 0.3 修复了在App退出后检查更新可能导致FC的问题  2014-1-22
  • Ver 0.2 优化了检查更新的性能,修复了测试时可能检查不到更新的问题 2013-12-11
  • Ver 0.1 修复了alpha版上自行处理回调可能拿不到更新的问题,改善扩展性。 2013-07-17
  • Ver Alpha 第一个内测版发布

常见问题 FAQ: