工具模块提供了一些辅助功能。
接口调用:
// 获取设备信息
NSString * deviceInfo = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:@"getDeviceInfo" parameters:nil];
NSLog(@"设备信息为:%@", deviceInfo);
日志打印:
{
"fingerprint_id":"2022081900000246002a609ea9b4751a718f0eca5b0dd0b8d97",
"client_id":"5f6e4974e684826e970a21c039b8db5e",
"trace_id":"62cbf6d0c3a8efd311ff8db61a31132c",
"youzu_id":"5f6e4974e684826e970a21c039b8db5e",
"android_device_id":"",
"google_id":"",
"android_imei":"",
"package_name":"com.supersdk.game",
"shumei_id":"2021122414311564065252acca8ae17cb8b9a690e72d6601f8100d5dfdd541",
"device_name":"iPhone12 pro max",
"idfa":"434E7A22-822C-4B08-A8E8-F65CAAC67C13",
"idfv":"4D02BDCA-0F0B-4E53-A802-66ED9AD39FB7",
}
KEY | KEY含义 | 备注 |
---|---|---|
fingerprint_id | 设备指纹 ID | 正常 51 个字符,其它值为异常情况 |
shumei_id | 数美 ID | 正常 62 个字符,其它值为异常情况 |
android_device_id | 安卓 ID | 仅支持 Android,iOS 空字符串 |
google_id | 谷歌 ID | 仅支持 Android,iOS 空字符串 |
package_name | 包名 | 应用 bundle id |
android_imei | IMEI | 仅支持 Android,iOS 空字符串 |
device_name | 设备名称 | 设备自定义名称 |
youzu_id | 游族 ID | 正常 32 个字符,其它值为异常情况 |
client_id | 设备指纹 ID 映射 | 正常 32 个字符,其它值为异常情况 |
trace_id | 当前启动标识 ID | 正常 32 个字符,其它值为异常情况 |
idfv | iOS - 供应商标识符 | 正常 36 个字符,其它值为异常情况 |
idfa | iOS - 广告标识符 | 正常 36 个字符,其它值为异常情况 |
接口调用:
// 获取设备采集数据
NSString *collectionData = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_COLLECTIONDATA parameters:nil];
NSLog(@"获取设备采集数据为:%@", collectionData);
日志打印:
{
"bundle_id":"com.supersdk.game",
"device_name":"iPhone12 pro max",
"device_type":"iPhone13,4",
"idfa":"434E7A22-822C-4B08-A8E8-F65CAAC67C13",
"idfv":"4D02BDCA-0F0B-4E53-A802-66ED9AD39FB7",
"language":"zh-Hans"
"network":"WIFI",
"operator":"other",
"os_version":"iOS14.4.2",
}
注意:只支持海外网游渠道。
接口调用:
// 获取客户端 IP 信息-目前只支持海外网游渠道
[SuperSDK invoke:BCORE_MODULE_TOOLS funcName:@"getClientIP" parameters:nil];
接口回调:
- (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName result:(NSString *)result {
// 处理 SuperSDK 回调逻辑,注意,所有模块回调都在这里。
NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n result : %@", moduleName, funcName, result);
// 1.回调参数解析
NSDictionary *retParam = nil;
if (result) {
NSData *jsonData = [result dataUsingEncoding:NSUTF8StringEncoding];
if (jsonData) {
retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
}
}
int code = [[retParam objectForKey:@"code"] intValue]; // 状态码
NSString *msg = [retParam objectForKey:@"msg"]; // 说明
// 2.回调参数判断
if ([moduleName isEqualToString:BCORE_MODULE_TOOLS]){// Tools模块回调
if ([funcName isEqualToString:BCORE_FUNC_GET_CLIENT_IP_INFO]) {// 获取客户端 IP 信息方法回调
NSDictionary *clientIPInfo = [retParam objectForKey:@"data"];// 回调 data 数据
NSLog(@"获取客户端 IP 信息为 %@", clientIPInfo);
}
}
}
日志打印:
moduleName : tools,
funcName : getClientIP,
result : {
"msg":"成功",
"data":{
"ip":"45.40.60.217",
"country":"JP", // 地区或国家
"continent":"AS" // 大洲
},
"code":1
}
参照文档:第一列国家码,最后一列大洲码 https://www.geonames.org/countries/
接口调用:
// 获取当前设备使用的语言
NSString *language = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_LANGUAGE parameters:nil];
NSLog(@"获取获取当前设备使用的语言为:%@", language);
日志打印:
获取获取当前设备使用的语言为:zh-Hans
常见系统语言:简体中文 zh-Hans、英语 en、法语 fr、德语 de、繁体中文 zh-Hant-HK、印尼 id、日语 ja、韩语 ko、葡萄牙语 pt、俄语 ru、西班牙语 es、泰语 th
接口调用:
// 获取当前设备设置的国家
NSString *country = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_COUNTRY parameters:nil];
NSLog(@"获取当前设备设置的国家地区为:%@", country);
日志打印:
获取当前设备设置的国家地区为:CN
接口调用:
// 复制到剪切板
[SuperSDK invoke:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_CopyToClipboard parameters:@{BCORE_KEY_TOOLS_VALUE: @"要复制的内容"}];
接口调用:
// 弹原生框
NSDictionary *parameters = @{
BCORE_KEY_TOOLS_TIILE : @"弹框标题",
BCORE_KEY_TOOLS_CONTENT : @"弹框内容",
BCORE_KEY_TOOLS_BUTTON : @"确定|取消" // 如有多个按钮,请按从左到右顺序,以"|"分割拼接
};
[SuperSDK invoke:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_ALERT parameters: parameters];
接口回调:
- (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName result:(NSString *)result {
// 处理 SuperSDK 回调逻辑,注意,所有模块回调都在这里。
NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n result : %@", moduleName, funcName, result);
// 1.回调参数解析
NSDictionary *retParam = nil;
if (result) {
NSData *jsonData = [result dataUsingEncoding:NSUTF8StringEncoding];
if (jsonData) {
retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
}
}
int code = [[retParam objectForKey:@"code"] intValue]; // 状态码
NSString *msg = [retParam objectForKey:@"msg"]; // 说明
// 2.回调参数判断
if ([moduleName isEqualToString:BCORE_MODULE_TOOLS]){// Tools 模块回调
if ([funcName isEqualToString:BCORE_FUNC_ALERT]) {// 点击弹框按钮回调
NSString *buttonTitle = [retParam objectForKey:@"data"];// 回调 data 数据
NSLog(@"点击了 %@ 按钮", buttonTitle);
}
}
}
日志打印:
moduleName : tools,
funcName : alert,
parameters : {
"msg" : "操作成功",
"data" : "确定",
"code" : 1
}
接口调用:
// 设置屏幕亮度方法
NSDictionary *parameters = @{
BCORE_KEY_TOOLS_VALUE : @"0.5" // 亮度范围为 0.0-1.0
};
[SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_SetScreenLight parameters:parameters];
接口调用:
// 写缓存
NSDictionary *parameters = @{
BCORE_KEY_TOOLS_KEY : @"保存数据的 key 值",
BCORE_KEY_TOOLS_VALUE : @"保存数据的 value 值"
};
[SuperSDK invoke:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_SAVE_DATA parameters:parameters];
接口调用:
// 读取缓存
NSDictionary *parameters = @{
BCORE_KEY_TOOLS_KEY : @"保存数据的 key 值"
};
NSString *data = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_DATA parameters:parameters];
注意:支持 iOS10+ 。
[SuperSDK invoke:BCORE_MODULE_TOOLS funcName:@"getStoreReview" parameters:nil];
日志打印:
moduleName : tools,
funcName : getStoreReview,
result : {
"code" : 1,
"msg" : "评分框已弹",
}
[SuperSDK invoke:BCORE_MODULE_TOOLS
funcName:@"getAPPStoreReview"
parameters:@{
BCORE_KEY_TOOLS_VALUE : @"1538544451" // value 值:苹果 Connent 后台提供的 AppleId,如:“1538544451”
}
];
日志打印:
moduleName : tools,
funcName : getAPPStoreReview,
result : {
"code" : 1,
"msg" : "跳转至评论页",
}
// 打开到系统设置
[SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:@"openSystemSetting" parameters:nil];
接口描述:用于广告溯源,根据设备查询引流该玩家的广告。
接口调用:
[SuperSDK invoke:BCORE_MODULE_TOOLS funcName:@"getDeviceCheckInfo" parameters:nil];
日志打印:
moduleName : tools,
funcName : getDeviceCheckInfo,
result : {
"code" : 1,
"data":"{
"ad_game_type":"",
"ad_name":"",
"is_ad_device":false
}",
"msg" : "成功",
}
接口调用:
// 判断设备是否越狱
BOOL isJaibreak = [SuperSDK invokeBool:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_JailBreak parameters:@{@"judgeMethod" : @(0)}]; // 0: 内部方法,1:外部方法,2:所有方法
NSLog(@"当前设备是否越狱:%@", isJaibreak ? @"是" : @"否");
日志打印:
当前设备是否越狱:否
接口调用:
// 获取 info.plist key 对应的字符串数据
NSDictionary *parameters = @{
BCORE_KEY_TOOLS_KEY : @"sp_version"// info.plist 的某个 key,例如 sp_version
};
NSString *spVersion = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_INFO_PLIST_VALUE parameters:parameters];
NSLog(@"设置的 sp_version 为:%@", spVersion);
日志打印:
设置的 sp_version 为:4.0.0
接口调用:
// 获取应用包名
NSString *packageName = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_PACKAGE_NAME parameters:nil];
NSLog(@"获取应用的包名为:%@", packageName);
日志打印:
获取应用的包名为:com.uuzu.mubao
接口调用:
// 获取应用名称
NSString *appName = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_APP_NAME parameters:nil];
NSLog(@"获取应用的名称为:%@", appName);
日志打印:
获取应用的名称为:Demo_Mubao
接口调用:
// 获取 short version 方法
NSString *shortVersion = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_SHORT_VERSION parameters:nil];
NSLog(@"获取的 short version 为:%@", shortVersion);
日志打印:
获取的 short version 为:4.0.0
接口调用:
// 获取 build version 方法
NSString * buildVersion = [SuperSDK invokeString:BCORE_MODULE_TOOLS funcName:BCORE_FUNC_GET_BUILD_VERSION parameters:nil];
NSLog(@"获取的 build version 为:%@", buildVersion);
日志打印:
获取的 build version 为:4.0.0
常量字符串 | 实际字符串 | 描述 |
---|---|---|
BCORE_MODULE_TOOLS | tools | 工具模块名称 |
BCORE_FUNC_GET_COLLECTIONDATA | getCollectionData | 获取设备采集数据方法 |
BCORE_FUNC_JailBreak | isJailBreak | 判断设备是否越狱方法方法 |
BCORE_FUNC_GET_LANGUAGE | getLanguage | 获取当前设备使用的语言方法 |
BCORE_FUNC_GET_COUNTRY | getCountry | 获取当前设备设置的国家方法 |
BCORE_FUNC_CopyToClipboard | copyToClipboard | 复制到剪切板方法 |
BCORE_FUNC_ALERT | alert | 弹原生框方法 |
BCORE_FUNC_SetScreenLight | setScreenLight | 设置屏幕亮度方法 |
BCORE_FUNC_SAVE_DATA | saveData | 写缓存方法 |
BCORE_FUNC_GET_DATA | getData | 读缓存方法 |
BCORE_FUNC_GET_PACKAGE_NAME | getPackageName | 获取应用包名方法 |
BCORE_FUNC_GET_APP_NAME | getAppName | 获取应用名称方法 |
BCORE_FUNC_GET_SHORT_VERSION | getShortVersion | 获取 short version 方法 |
BCORE_FUNC_GET_BUILD_VERSION | getBuildVersion | 获取 build version 方法 |
BCORE_FUNC_GET_INFO_PLIST_VALUE | getInfoPlistValue | 获取 info.plist 转化为 json 字符串的数据方法 |