supersdk

文档中心

文档中心

下载文档

接入前准备(iOS)


接入前,请确保已下载最新版本SuperSDK4.0+Demo(Object-c版)

导入SuperSDK库文件

将下载SDK里面的所有静态库和SuperSDK.bundle拷贝到项目开发目录下,然后拖拽到工程目录下 ,弹出如 下图对话框所示(注意勾选),点击Finish。

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

Screenshot

添加SuperSDK版本号

在项目的info.plist文件里,增加一项用于标识SuperSDK版本号的值, key为sp_version,对应的value值为当前接入SuperSDK.framework的版本。

Screenshot

SuperSDK.framework的版本号请查看下载的资源包中的README.txt。 Screenshot

添加系统依赖库

在Xcode -> Target -> Build Phrases ->Link Binary WithLibraries中添加以下依赖库:

Foundation.framework
UIKit.framework
AdSupport.framework
SystemConfiguration.framework
CoreTelephony.framework
libc++.tbd
libsqlite3.tbd
libxml2.2.tbd

(注:将AdSupport.framework的status改为optional)

修改工程配置,添加库的链接参数

在工程配置里面,找到Linking部分,修改Other Linker Flags,添加-ObjC。

Screenshot

##添加母包配置

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

引用SuperSDK

#import <SuperSDK/SuperSDK.h>   

初始化

接口描述:调用此接口会初始化SuperSDK各模块。

接口定义:游戏必须在AppDelegate的生命周期方法- application: didFinishLaunchingWithOptions:中同步调用,调用时游戏必须暂停,收到平台模块(platform)模块的成功回调即可认为成功,游戏可恢复运行 。

+ (void)init:(SuperSDKCallback)callbackBlock;

接口调用:

[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(@"********初始化失败,游戏无法在进行下去********");
            }
        }
    }
}

回调日志打印:

2017-06-27 17:42:02.115 Demo_Mubao[6255:992012] ****** 收到回调
 moduleName : platform,
 funcName : init,
 result : {
  "msg" : "初始化成功",
  "code" : 1
}

附录

如下表所示:

字符串常量 实际字符串 描述
平台模块常量
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