supersdk

文档中心

文档中心

下载文档

接入前准备(iOS)


接入前,请确保已下载 最新版本 打包工具以及库文件。

一、导入 SuperSDK 库文件

说明:将基础模块的所有静态库和资源文件拷贝到项目开发目录下,然后拖拽到工程目录下,弹出如下图对话框所示(注意勾选位置),点击 Finish。

BaseCore.a                      基础库,内含统计和配置模块代码,必须导入,以下库均依赖此库
SuperSDK.framework              SuperSDK 对外库,内含平台模块(platform),及对外接口
SuperSDKFoundation.framework    SuperSDK 公共基础库,包含通用工具方法,必须导入
SuperSdkImp.a                   SuperSDK 母包,模拟渠道运行环境,供测试使用,打渠道包时可以删除
SuperSDK.bundle                 SuperSDK 资源配置文件
SuperSDK_Privacy.bundle         SuperSDK 隐私相关文件    

Screenshot

二、添加系统依赖库

说明:在 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。

Screenshot

四、添加母包配置

说明:从打包工具下载 iOS 的母包配置,并添加(替换)到 SuperSDK.bundle 中,如下图所示:

Screenshot

五、引用 SuperSDK

#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