{IDO消息图标接口说明}
1.功能概述
提供设置国家编码、缓存服务器地址、APP Key、语言成员接口,提供查询更新图标状态、APP包名、获取&删除本地沙盒缓存、下发应用图标接口的能力。
2.接口能力
1.国家编码(IOS):
1.1 功能概括:
提供国家编码成员,只有IOS使用。
1.2 API ID:
String? ios_countryCode;
1.3 API参数说明:
@param:ios_countryCode 国家编码,例如:美国 'US',中国 'CN'。
2.缓存服务器地址(IOS):
2.1 功能概括:
提供缓存服务器地址成员,只有IOS使用。
2.2 API ID:
String? ios_baseUrlPath;
2.3 API参数说明:
@param:ios_baseUrlPath 缓存服务器地址,例如:https://cn-user.idoocloud.com/api/ios/lookup/get,如果未赋值则走Apple接口(请求速度较慢)。
3.APP KEY(IOS):
3.1 功能概括:
提供appkey成员,只有在使用缓存服务器才有效,只有IOS使用。
3.2 API ID:
String? ios_appKey;
3.3 API参数说明:
@param:ios_languageUnit 后台分配,每个app有独立的app key,具体咨询后台开发人员,例如:800a6444f9c0433c8e88741b6ddf1443。
4.语言单位(IOS):
4.1 功能概括:
提供语言单位成员,只有IOS使用。
4.2 API ID:
int? ios_languageUnit;
4.3 API参数说明:
@param:ios_languageUnit 语言单位,未设语言单位,默认为英文。
跳转到语言单位内容说明 => IDO语言单位内容说明
5.查询图标更新状态:
5.1 功能概括:
提供查询当前的更新状态的能力。
5.2 API ID:
Future<bool> get updating;
5.3 API参数说明:
@return:updating 更新标志,Future bool类型,false:空闲,true:正在更新图标和名字。
6.查询设备支持默认app信息集合:
6.1 功能概括:
提供查询设备支持的默认消息提醒的APP包名的能力
ios 只有默认的包名
android 会包含默认的event_type 如果已经安装的应用则包含图标地址
6.2 API ID:
Future<List<IDOAppIconItemModel>> getDefaultAppInfo();
6.3 API参数说明:
@return:字符串集合,APP包名集合,包括:
class IDOAppIconInfoModel {
int? version; /// 版本号
int? iconWidth; /// icon宽度
int? iconHeight; /// icon高度
int? colorFormat; /// 颜色格式
int? blockSize; /// 压缩块大小
int? totalNum; /// 总个数
List<IDOAppIconItemModel>? items; /// 包名详情集合
};
class IDOAppIconItemModel extends IDOAppInfo {
int? itemId; /// 每个包名给一个id 由0开始
int? msgCount; /// 消息收到次数
String? iconCloudPath; /// icon 云端地址
int? state; /// 消息图标更新状态 0:不需要更新 1:需要更新icon ,2:需要更新app名,3:icon和app都需要更新
String? iconLocalPathBig;/// icon沙盒大图标地址(app列表上展示)
String? countryCode; /// 国家编码
bool? isDownloadAppInfo; /// 是否已经下载APP信息
bool? isUpdateAppName; /// 是否已经更新应用名称
bool? isUpdateAppIcon; /// 是否已经更新应用图标
bool? isDefault; /// 是否为默认应用
}
7.查询缓存的APP信息(IOS):
7.1 功能概括:
提供查询缓存中版本号、icon信息(尺寸、颜色格式、数量、压缩块大小)、包名具体详情的能力
如果有动态更新app图标则会缓存数据,获取数据显示到开关控制列表
7.2 API ID:
Future<IDOAppIconInfoModel> getCacheInfoModel();
7.3 API参数说明:
@return:缓存的APP信息,包括:
class IDOAppIconInfoModel {
int? version; /// 版本号
int? iconWidth; /// icon宽度
int? iconHeight; /// icon高度
int? colorFormat; /// 颜色格式
int? blockSize; /// 压缩块大小
int? totalNum; /// 总个数
List<IDOAppIconItemModel>? items; /// 包名详情集合
};
class IDOAppIconItemModel extends IDOAppInfo {
int? itemId; /// 每个包名给一个id 由0开始
int? msgCount; /// 消息收到次数
String? iconCloudPath; /// icon 云端地址
int? state; /// 消息图标更新状态 0:不需要更新 1:需要更新icon ,2:需要更新app名,3:icon和app都需要更新
String? iconLocalPathBig;/// icon沙盒大图标地址(app列表上展示)
String? countryCode; /// 国家编码
bool? isDownloadAppInfo; /// 是否已经下载APP信息
bool? isUpdateAppName; /// 是否已经更新应用名称
bool? isUpdateAppIcon; /// 是否已经更新应用图标
bool? isDefault; /// 是否为默认应用
}
8.查询Icon图片存放目录地址(IOS):
8.1 功能概括:
提供查询Icon图片存放目录地址的能力,只有IOS使用。
8.2 API ID:
Future<String> getIconDirPath();
8.3 API参数说明:
@return:icon图片存放目录,字符串类型。
9.重置APP图标信息(IOS):
9.1 功能概括:
提供删除本地沙盒缓存的图片的能力,只有IOS使用。
9.2 API ID:
Future<bool> resetIconInfoData({required String macAddress, bool deleteIcon = true});
9.3 API参数说明:
@param:macAddress 需要清除数据的MAC地址
@param:deleteIcon 是否删除icon 图片文件,默认删除
@return:删除缓存结果,fasle:失败,true:成功。
10.注册监听更新消息图标(IOS):
10.1 功能概括:
提供注册更新消息图标监听的能力,全局注册一次即可,只有IOS使用。
10.2 API ID:
void registerListenUpdate();
10.3 API参数说明:
无。
11.android已安装所有app信息集合:
11.1 功能概括:
提供查询android已安装所有app信息集合的能力,只有Android使用。
ios需要执行获取默认的APP包名列表信息,因为event_type是固件分配的(force强制更新应用名称)
11.2 API ID:
Future<List<IDOAppIconItemModel>> firstGetAllAppInfo({bool force = false});
11.3 API参数说明:
@param:force,强制更新Android 消息图标和名字
@param:消息应用图标内容,包括:
class IDOAppIconInfoModel {
int? version; /// 版本号
int? iconWidth; /// icon宽度
int? iconHeight; /// icon高度
int? colorFormat; /// 颜色格式
int? blockSize; /// 压缩块大小
int? totalNum; /// 总个数
List<IDOAppIconItemModel>? items; /// 包名详情集合
};
class IDOAppIconItemModel extends IDOAppInfo {
int? itemId; /// 每个包名给一个id 由0开始
int? msgCount; /// 消息收到次数
String? iconCloudPath; /// icon 云端地址
int? state; /// 消息图标更新状态 0:不需要更新 1:需要更新icon ,2:需要更新app名,3:icon和app都需要更新
String? iconLocalPathBig;/// icon沙盒大图标地址(app列表上展示)
String? countryCode; /// 国家编码
bool? isDownloadAppInfo; /// 是否已经下载APP信息
bool? isUpdateAppName; /// 是否已经更新应用名称
bool? isUpdateAppIcon; /// 是否已经更新应用图标
bool? isDefault; /// 是否为默认应用
}