admin管理员组文章数量:1624797
小米应用商店检查更新SDK(下文简写为『检查更新SDK』)帮助您的用户尽快获得最新版本的应用!轻松增加『自动检查更新』功能,通过小米应用商店的CDN服务,快速的把最新版应用推送给用户!
功能特点:
·支持增量更新:检查更新SDK会自动识别用户版本,并提供diff包给用户,加速省流
·一次发布全面更新:只要在小米应用商店发布新版,所有的用户都可以收到新版发布提醒。
·标准Android SDK:无论用户是否使用MIUI,都可以收到更新提醒。
·方便省心:无需考虑配置服务器,部署CDN等问题,小米应用商店免费提供。
·支持基于设备属性和API-Level的系统版本过滤,会将新版推送给支持的设备。
·独家支持:在MIUI系统上支持调用系统商店更新,升级成功率更高!
立即开始集成:
1.添加sdk依赖
//添加依赖
compile'mi-appstore:xiaomi-update-sdk:4.0.3'
2.在AndroidManifest.xml文件中添加SDK信息
2.1添加检查更新需要的权限
打开AndroidManifest.xml,添加SDK需要的权限到标签下:
2.2添加receiver
android:name="android.support.v4.content.FileProvider"
android:authorities="your_package_name.selfupdate.fileprovider" //请将your_package_name替换成您应用的包名.
android:exported="false"
android:grantUriPermissions="true">
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/xiaomi_update_sdk_file_paths" />
3.调用检查更新接口
在需要检查更新的Activity里的OnCreate()方法中调用
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
XiaomiUpdateAgent.update(this);
}
4.API说明
4.1 XiaomiUpdateAgent
4.1.1 public static void update(Context context)
/**
* 触发检查更新, 根据BuildType是否为Debug(BuildConfig.DEBUG=true)决定是否使用沙盒测试
* @param context 会以WeakRerference的形式存在, 若检查更新结果返回时, context已销毁,
* 此次检查更新被忽略
*/
public synchronized static void update(Context context)
4.1.2 public synchronized static void update(Context context,boolean debug)
* 触发检查更新
* @param context 会以WeakRerference的形式存在,若检查更新结果返回时,context已销毁,
* 此次检查更新被忽略
* @param debug 是否使用沙盒测试
*/
public synchronized static void update(Context context, boolean debug)
4.1.3 public static void setUpdateAutoPopup(boolean autoPopup)
/**
* 设置检查到应用可更新时是否自动弹窗,当设置为true时且updte方法传入的Context是Activity,则在检查到更新时自动弹窗提醒
* 若设置为false,或者update接口的Context不是Activity时,则需要应用通过setUpdateListener注册检查结果回调,并自己处理检查结果
* @param autoPopup 设置有可更新包时,是否自动弹出升级对话框,默认为true
*/
public static void setUpdateAutoPopup(boolean autoPopup)
4.1.4 public static void setCheckUpdateOnlyWifi(boolean checkUpdateOnlyWifi)
/**
*设置是否仅在wifi下检查更新
* param checkUpdateOnlyWifi是否仅wifi下检查更新,默认为false
*/
public static void setCheckUpdateOnlyWifi(boolean checkUpdateOnlyWifi)
4.1.4 public static void setUpdateListener(XiaomiUpdateListener updateListener)
设置检查到更新时的回调接口。仅当setUpdateAutoPopup(false)时,才生效。
4.1.5 public static int getSDKVersion()
/**
*返回当前sdk版本号
* return sdk版本号
*/
public static int getSDKVersion()
4.1.6 public static void setUseInternationalHost(boolean useInternational)
/**
*设置是否使用海外地区apk.
*应用商店支持同一个包名在不同中国和海外分发不同的apk.
*设置此参数,可强制使用国内或者海外地区apk,此功能主要用于非miui系统.
*
* param useInternational是否使用海外地区,国际版miui系统默认为true,否则默认为false
*/
public static void setUseInternationalHost(boolean useInternational)
4.1.7 public static void arrange()
/**
*触发下载安装流程。
*当setUpdateAutoPopup(true)时,且update方法Context是Activity,则会在用户点击升级对话框的升级按钮时,触发下载安装。
*当setUpdateAutoPopup(false)时,或update方法Context不是Activity时,检查到更新后,需要应用主动调用此方法触发下载安装.
*根据是设备上是否存在小米应用商店,此方法有两种不同的结果:
*1)存在小米应用商店时,会跳转到应用商店中该应用的详情页,需要用户手动点击升级按扭,后续下载安装由应用商店自动完成,无需应用再操作
*2)不存在小米应用商店时,会使用系统下载管理器下载,并在下载完成后调起设备的包安装器,需要用户手动点击包安装器的升级按钮,才能触发安装
*/
public static void arrange()
4.2 public class UpdateStatus
检查更新返回码:
/**
* 有可更新版本
*/
public static final int STATUS_UPDATE = 0;
/**
* 无可更新版本
*/
public static final int STATUS_NO_UPDATE = 1;
/**
* 无wifi连接,当设置了仅wifi检查且当前无wifi时返回此错误码
*/
public static final int STATUS_NO_WIFI = 2;
/**
* 检查更新时无网络连接
*/
public static final int STATUS_NO_NET = 3;
/**
* 检查更新失败,主要是由于网络故障或服务器异常等
*/
public static final int STATUS_FAILED = 4;
/**
* 获取本地apk信息失败
*/
public static final int STATUS_LOCAL_APP_FAILED = 5;
4.3 public class UpdateResponse
检查结果信息
/**
*更新日志
*/
public String updateLog;
/**
*版本名称
*/
public String versionName;
/**
*版本号
*/
public int versionCode;
/**
*下载地址
*/
public String path;
/**
*安装包大小
*/
public long apkSize;
/**
*安装包md5
*/
public String apkHash;
/**
*安装包增量大小.sdk会根据本地apk和服务器apk的diff,下载增量包,并合成最终apk
*/
public long diffSize;
4.4 public interface XiaomiUpdateListener
检查更新回调接口,用于接收检查更新结果,仅在setUpdateAutoPopup(false)时有效
4.4.1 void onUpdateReturned(int updateStatus,UpdateResponse updateInfo)
/**
*检查更新结果回调
* param updateStatus参考4.2 UpdateStatus
* param updateInfo参考4.3 UpdateResponse
*/
void onUpdateReturned(int updateStatus,UpdateResponse updateInfo);
版权声明:本文标题:android 小米sdk版本,小米应用商店:检查更新SDK 集成指南 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728910027a1179098.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论