帮助文档

SDK下载

关于SDK

本文档提供给游戏合作商对接的开发者使用,文档主要分几部分,一 、集成 SDK; 二、调用及其参数说明; 三、登录验签

版本更新说明

2023-08-14 v1.0.3

新增折前券

2023-07-17 v1.0.2

增加抵扣券支付

2023-05-30 v1.0.0

第一版上线

1如何集成WanCmsSDK

1.1 新建一个xcode工程(这里只是举个例子,对接的时候是游戏项目)

1.2 直接将WanCmsSDK.framework,WCSDK.bundle拖进项目文件夹,勾选1,2,4,点击finish

1.3 设置游戏和工程信息

创建WC.plist文件,在plist文件设置游戏信息,区分不同游戏,将每个游戏对应的appid,agent,gameid填入下列对应参数的后边,agent代表渠道号

设置info.plist,添加截图中的三个内容,分别用作:设置应用白名单用于跳转,允许加载浏览器以及获取保存截图到相册的权限(文字描述可自行修改)

设置URL Types 如下 URL Schemes 必须为Aiqu5535SDK

1.4 添加必须的依赖库

libz.tbd 和AlipaySDK.framework,参考demo

1.5 -ObjC

在buldsetting里面搜索other link双击添加–ObjC回车

1.6 iOS9,10系统的适配

ios9,10默认打开bitcode,这里需要关闭,否则可能出现项目在模拟器上可以运行,但是真机上报错的问题。步骤:1先找到bitcode,2设置bitcode为NO

1.7 AppDelegate参考demo配置

2使用

SDK接口均在UI线程中调用

2.1 初始化(必须接入

在使用页面导入头文件 #import <WanCmsSDK/WCmsSDK.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // sdk初始化
    [[WCmsSDK sharedInstance] initApi:application didFinishLaunchingWithOptions:launchOptions];
    return YES;
}
            
2.2 登录(必须接入

在使用页面导入头文件 #import <WanCmsSDK/WCmsSDK.h>,调用下面方法即可弹出登录页面,第一次需要登录,登录成功之后保存用户数据,下次登录会自动登录

[[WCmsSDK sharedInstance] addLoginView:^(NSDictionary *resultDic) {
NSLog(@"登录回调 = %@ 登录用户 = %@ 登录提示 = %@", resultDic,resultDic[@"username",resultDic[@"msg");
if ([resultDic[@"code"] intValue] == 1) {
NSLog(@"登录成功");
}
}];
            

返回参数说明:

参数名 类型 参数说明
code NSInteger code = 1 : 登录成功
code = -1 : 用户名不能为空
code = -2 : 用户名长度不正确
code = -3 : 没有注册设备来源
code = -4 : 密钥不对
code = -5 : 渠道ID不能为空
code = -6 : 账号不存在或者密码不正确
code = -7 : 游戏ID不能为空
code = -8 : 注册失败
code = 501: 网络连接失败
msg NSString 失败信息(和code)
username NSString 用户名
logintime NSString 登录时间(时间戳)
sign NSString 签名
2.2 退出账号(必须接入

游戏退出或用户退出必须调用登出接口,然后调用登录接口展示登录页(此时不会自动登录),登录成功后,下次登录就时就会根据缓存的账号密码走自动登录流程。

//退出登录
[[WCmsSDK sharedInstance] doLoginOut];
            
2.3 切换账号(必须接入

用户点击切换账号时,根据打印的回调进行退出游戏,回到登录账号界面。

//切换账号回调
[WCmsSDK sharedInstance].exitLogin = ^(NSDictionary *resultDic) {
    NSLog(@"%@回调",resultDic);
};
            
2.4 支付(如开计费必须接入

调用支付前,先调用上面的初始化,再调用登录,然后在要支付时调用下面方法即可弹出支付页面

实例:

 [[WCmsSDK sharedInstance] addPayViewWithRoleId:@"test001"
                                              money:@"66"
                                           serverId:@"888"
                                        productName:[NSString stringWithFormat:@"%@元宝", money]
                                        productDesc:@"元宝描述"
                                         cpOrderId:@"cpOrder889433455"
                                             attach:[self getOrderNumber]
                                         completion:^(NSDictionary *resultDic) {
        NSLog(@"打印支付回调 = %@", resultDic);
    }];
            

请求参数说明

参数名 类型 参数说明
roleId NSString 角色id
serverId NSString 服务器id
money NSString 支付金额(单位:元)
productName NSString 产品名字
productDesc NSString 产品描述
cpOderId NSString 研发订单号
attach NSString 扩展参数

返回参数说明

参数名 类型 参数说明
message NSString 成功返回(xxx支付成功)
失败返回(失败原因:xxxx)
code NSString 支付状态编码(
code = 1 : 支付成功
code = -1 : 缺少参数,请重试
code = -2 : 密钥不对
code = -3 : 渠道ID不能为空
code = -4 : 用户名不能为空
code = -5 : 游戏ID不能为空
code = -6 : 余额不足
code = -7 : 内部服务器发生错误,请重试!
code = -8 : 没有回调地址,请通知我方配置
code = -9: 充值金额必须大于0
2.5 设置角色信息(必须接入
/**
 *  设置用户信息---支持改名(option)
 *
 *  @param roleId   角色id               必须
 *  @param roleName 游戏角色名(支持改名)   必须
 *  @param Level    角色等级              必须
 *  @param zoneId   角色所在区服唯一标示符  必须
 *  @param zoneName 角色所在区服名         必须
 *  @param block    提交结果block         (0:提交失败 1:成功 2:信息不全)
 */
+ (void)SetUserInfoDataWithRoleId:(NSString*)roleId
                         roleName:(NSString*)roleName 
                        roleLevel:(NSString*)Level 
                           zoneId:(NSString*)zoneId 
                         zoneName:(NSString*)zoneName 
                           attach:(NSString *)attach 
                            block:(void(^)(NSInteger code))block;
            

实例

[[WCmsSDK sharedInstance] setUserInfoDataWithRoleId:@"test001"
                                            roleName:@"测试员"
                                           roleLevel:@"1"
                                              zoneId:@"888"
                                            zoneName:@"NO.1"
                                              attach:@""
                                          completion:^(NSDictionary *resultDic) {
    if ([resultDic[@"code"] intValue] == 1) {
        [YGMessage showMessage:@"上传成功"];
    }
}];
            

请求参数说明

参数名 类型 是否必须 参数说明
roleId NSString 角色id
zoneId NSString 服务器id
roleName NSString 角色名
attach NSString(Json字符串) 扩展参数(战力 fc 没有传nil)
roleLevel NSString 玩家等级
zoneName NSString 服务器名称
block Block 完成回调

返回参数说明

参数名 类型 参数说明
code NSString 失败状态编码(
code = 0 : 访问服务器失败
code = 1 : 成功
code = 2 : 信息不全

3登录验签

参数名 类型 参数说明 签名顺序
username String wancms 用户帐号 1
appkey String 应用 appkey 2
logintime String 登陆时间,时间戳格式 3

签名字符串示例: sign=MD5(“username=t315688&appkey=91bac46a9b70bd2db563cc483d443ba3&logintime =1395634100”)生成md5摘要后和登录接口返回的sign进行比对