接入前,请确保已下载 最新版本 打包工具以及库文件。
说明:将基础模块的所有静态库和资源文件拷贝到项目开发目录下,然后拖拽到工程目录下,弹出如下图对话框所示(注意勾选位置),点击 Finish。
BaseCore.a 基础库,内含统计和配置模块代码,必须导入,以下库均依赖此库
SuperSDK.framework SuperSDK 对外库,内含平台模块(platform),及对外接口
SuperSDKFoundation.framework SuperSDK 公共基础库,包含通用工具方法,必须导入
SuperSdkImp.a SuperSDK 母包,模拟渠道运行环境,供测试使用,打渠道包时可以删除
SuperSDK.bundle SuperSDK 资源配置文件
SuperSDK_Privacy.bundle SuperSDK 隐私相关文件
说明:在 Xcode -> Target -> Build Phrases -> Link Binary WithLibraries 中添加以下依赖库。
注意事项:将 AdSupport.framework 的 status 改为 optional。
Foundation.framework
UIKit.framework
AdSupport.framework
SystemConfiguration.framework
CoreTelephony.framework
libc++.tbd
libsqlite3.tbd
libxml2.2.tbd
libresolv.9.tbd
说明:在工程配置里面,找到 Linking 部分,修改 Other Linker Flags,添加 -ObjC。
说明:从打包工具下载 iOS 的母包配置,并添加(替换)到 SuperSDK.bundle 中,如下图所示:
#import <SuperSDK/SuperSDK.h>
接口描述:调用此接口会初始化 SuperSDK 各模块。
接口定义:
+ (void)init:(SuperSDKCallback)callbackBlock;
注意:游戏必须在 AppDelegate 的生命周期方法 - application: didFinishLaunchingWithOptions: 中同步调用,调用时游戏必须暂停,收到平台模块(platform)模块的成功回调即可认为成功,游戏可恢复运行 。
接口调用:
[SuperSDK init:^(NSString *moduleName, NSString *funcName, NSString *result) {
// 设置回调 block,将回调交给中间类处理,这里是让 viewController 对象直接处理
[viewController handlerCallback:moduleName funcName:funcName result:result];
}];
接口回调:
- (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_PLATFORM]) {// 平台模块回调
if ([funcName isEqualToString:BCORE_FUNC_INIT]) {// 初始化回调
NSLog(@"********初始化结束回调********");
if (code == BCORE_SUCCESS) {
NSLog(@"********初始化成功********");
}
else {
NSLog(@"********初始化失败,游戏无法在进行下去********");
}
}
}
}
日志打印:
moduleName : platform,
funcName : init,
result : {
"msg" : "初始化成功",
"code" : 1
}
说明:SuperSDK 提供了一个常量类,专门记录各种模块名,各个方法名常量值。如下表所示:
字符串常量 | 实际字符串 | 描述 |
---|---|---|
平台模块常量 | ||
BCORE_MODULE_PLATFORM | platform | 模块名称,每个模块常量名固定 |
BCORE_FUNC_INIT | init | 初始化 |
BCORE_FUNC_LOGIN | login | 登录 |
BCORE_FUNC_HAS_LOGOUT | hasLogout | 渠道是否有注销接口 |
BCORE_FUNC_LOGOUT | logout | 注销 |
BCORE_FUNC_PAY | pay | 支付 |
BCORE_FUNC_PAY_ORDER_ID | payOrderId | 支付获取订单成功 |
BCORE_FUNC_ENTER_GAME | enterGame | 进入游戏 |
BCORE_FUNC_CREATE_ROLE | createRole | 创建角色 |
BCORE_FUNC_LEVEL_UP | levelUp | 角色升级 |
BCORE_FUNC_HAS_FORUM | hasForum | 判断是否有论坛 |
BCORE_FUNC_OPEN_FORUM | openForum | 打开论坛 |
BCORE_FUNC_HAS_USER_CENTER | hasUserCenter | 判断是否有用户中心 |
BCORE_FUNC_OPEN_USER_CENTER | openUserCenter | 打开用户中心 |
BCORE_FUNC_HAS_CUSOMER_SERVICE | hasCustomerService | 判断是否有客服 |
BCORE_FUNC_OPEN_CUSOMER_SERVICE | openCustomerService | 打开客服 |
BCORE_FUNC_OPEN_LOGIN_PAGE | openLoginPage | 进入登录页面 |
BCORE_FUNC_OPEN_HOME_PAGE | openHomePage | 进入游戏首页 |
BCORE_FUNC_HAS_GUEST | hasGuest | 用户是否为游客 |
BCORE_FUNC_GUEST_UPGRADE | guestUpgrade | 游客升级 |
BCORE_FUNC_OTHER_FUNCTION | otherFunction | 扩展接口 other |
统计模块常量 | ||
BCORE_MODULE_STATS | stats | 模块名称 |
BCORE_FUNC_REPORT | report | 统计上报 |
工具模块常量 | ||
BCORE_MODULE_TOOLS | tools | 模块名称 |
BCORE_FUNC_GET_CLIENT_IP_INFO | getClientIPInfo | 获取客户端 IP 信息,如 ip 地区 |
BCORE_FUNC_GET_LANGUAGE | getLanguage | 获取当前设备使用的语言 |
BCORE_FUNC_GET_COUNTRY | getCountry | 获取当前设备设置的国家 |
BCORE_FUNC_CopyToClipboard | copyToClipboard | 复制文字到剪切板 |
BCORE_FUNC_ALERT | alert | 弹窗 |
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 key 对应的字符串数据 |
BCORE_FUNC_SetScreenLight | setScreenLight | 调节屏幕亮度 |
BCORE_FUNC_SAVE_DATA | saveData | 保存数据 |
BCORE_FUNC_GET_DATA | getData | 获取保存的数据 |
BCORE_FUNC_GET_DEVICEID | getDeviceId | 获取设备 ID |
BCORE_FUNC_GET_COLLECTIONDATA | getCollectionData | 获取设备采集数据 |
BCORE_FUNC_JailBreak | isJailBreak | 设备是否越狱方法 |
配置模块常量 | ||
BCORE_MODULE_CONFIG | config | 模块名称 |
BCORE_FUNC_GET_VALUE | getValue | 获取配置信息,包括 gameId |
广告模块常量 | ||
BCORE_MODULE_ADVERT | advert | 模块名称 |
BCORE_FUNC_TRACK | track | 触发广告事件 |
游族模块常量 | ||
BCORE_MODULE_YOUZU | youzu | 模块名称 |
BCORE_FUNC_GET_VALUE | getValue | 获取配置,包括 opId、opGameId |