GMU小程序SDK API(Android)

概述

这里介绍GMU小程序SDK提供了哪些能力及API的详细说明和调用示例。

基础功能

1. 小程序SDK初始化

在使用小程序的API之前,需要先初始化小程序SDK。只有成功初始化之后,才能使用SDK提供的API。

/**
* 框架启动,处理小程序必要资源
* @param config 初始化配置
* @param callback
*/
public void startWithConfig(final GMUMiniConfig config, final StartStatus callback)

参数说明:

  • config:SDK初始化配置对象,配置对象需要提供必需的appKeyappSecret。如果SDK需要连接1.0私有云平台,可为配置对象提供server属性来指定私有云服务器;详见:appKey与appSecret的获取方式

示例代码

String[] permissions = {Manifest.permission.READ_PHONE_STATE,Manifest.permission.WRITE_EXTERNAL_STORAGE};
PermissionsHelper.checkPermission(this,permissions, new PermissionCallBack() {
@Override
public void onSucessed(Bundle bundle) {
GMUMiniConfig config = new GMUMiniConfig();
config.server = "https://mpapi.lightyy.com";
config.appKey = "b489e314f4e247339d41cbb34ea0000";
config.appSecret = "b71b317768274cf7ae22b90478200000";
//这里是真正启动框架的代码
GMUMiniApi.getInstance().startWithConfig(config,new GMUMiniApi.StartStatus() {
@Override
public void onStart(boolean b) {
//b为true表示启动成功,false表示失败
}
});
}

@Override
public void onFailed(Bundle bundle) {

}
});

2. 打开小程序

打开小程序时,会先校验服务端是否有更新,如果有更新则会自动下载并打开。

/**
* 打开小程序
* @param activity
* @param miniAppId 小程序平台发布id号
*/
public void openMiniApp(Context context,String miniAppId)

调用示例:

GMUMiniApi.getInstance().openMiniApp(MainActivity.this,miniAppId);

参数说明:

  • context:当前运行的上下文
  • miniAppId:小程序唯一标识,可在小程序开放平台获取

注意事项:

  • 开发者可在业务需求处调用该方法以打开指定ID的小程序。

3. 清理所有小程序的内存缓存

当用户关闭小程序时,并不会把小程序完全销毁,而是将小程序缓存到内存中,
用户可以通过该接口清除内存中缓存的小程序。

/**
* 清理所有小程序的内存缓存,不会删除磁盘中缓存的小程序包
*/
public void clearMemoryCache()

调用示例:

GMUMiniApi.getInstance().clearMemoryCache();

注意事项:

  • 清理所有小程序的内存缓存(再次打开小程序为冷启动)

4. 清理所有小程序的磁盘缓存

/**
* 清除磁盘缓存的小程序
*/
public void clearDiskCache()

调用示例:

GMUMiniApi.getInstance().clearDiskCache();

注意事项:

  • 再次打开小程序需要重新下载资源包,并且小程序为冷启动

5. 获取当前打开的小程序的信息

调用该接口可以获取到当前打开的小程序信息,详见

/**
* 获取当前打开的小程序的信息
*/
public LMAPackBean getCurrentMiniAppInfo()

  • mpKey:小程序标识
  • showName:小程序名称
  • icon:小程序图标
  • introduction:小程序简介
  • version:小程序版本号
  • fileSize:小程序大小
  • serverList:白名单域名列表

6. 关闭当前打开的小程序

/**
* 关闭当前打开的小程序
*/
public void closeCurrentMiniApp()

7. 关闭当前打开的所有小程序

/**
* 关闭当前打开的所有小程序
*/
public void closeAllMiniApps()