iOS游戏对接文档

一、版本记录

  1. 版本记录

    版本号修改记录
    v4.6.1(20241128)v4.6.1(20241128)增加vx客服功能

二、环境配置

  1. 导入sdk库文件

    将usrcck.framework文件导入到工程中,其中usrcck.framework是动态库

  2. 配置参数

    BstConfig 项参数,参考Demo 样例

    在Info.plist中添加BstConfig,然后BstConfig里面添加三个参数AppId、ClientKey、domain,其中clientkey就是商务发的login_key,还需要将domain设置到URLSchemes里面

    在Info.plist配置LSApplicationQueriesSchemes白名单,分别添加weixin、wechat、alipay、alipays、alipayqr

三、开始集成

  1. 实现代理(必接)

    在需要接收到上述事件回调的地方设置代理,并实现下述方法
    @interface ViewController ()@end
    -(void)OnInitSuccess;
    -(void)OnInitFailed:(NSDictionary*)msg Error:(NSError *)error;
    -(void)OnLoginSuccess:(NSDictionary *)result;
    -(void)OnLoginFailed:(NSDictionary*)result;
    -(void)OnLogoutSuccess;
    -(void)OnChangeAccount;
    -(void)OnPaySuccess:(NSString *)result;
  2. 实现生命周期方法(必接)

    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
    -(void)applicationWillResignActive:(UIApplication *)application;
    -(void)applicationDidEnterBackground:(UIApplication *)application;
    -(void)applicationWillEnterForeground:(UIApplication *)application;
    -(void)applicationDidBecomeActive:(UIApplication *)application;
    -(void)applicationWillTerminate:(UIApplication *)application;
    -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
    -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary*)options;
    -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
    -(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window;
  3. 初始化(必接)

    [[BstSDKManager sharedInstance] sdkInitDelegate:self];
  4. 登录(必接)

    [[BstSDKManager sharedInstance] sdkLogin];
  5. 登出(必接)

    [[BstSDKManager sharedInstance] sdkChangeAccount];
  6. 上报(必接)

    -(IBAction)sendRoleInfoAction:(UIButton *)sender {
    GameRoleData *roleData = [[GameRoleData alloc] init];
    //角色上报类型(0:未知;1:进入游戏;2:创建角色:3:角色升级;4:角色充值;5:退出登录或者切换账号;99:退出游戏)
    roleData.eventName = UploadRoleInfoTypeEnterGame;  // 需要根据当前类型上报正确类型
    roleData.serverId = @"1"; // 区服ID
    roleData.serverName = @"1区"; // 区服名称
    roleData.roleId = @"10000"; // 角色ID
    roleData.roleName = @"孙悟空"; // 角色名称
    roleData.roleBalance = @"1000"; // 角色游戏内货币余额
    roleData.partyRoleId = @"你好"; // 帮派ID
    roleData.rolePower = @"100000"; // 角色战力
    roleData.roleLevel = @"11"; //角色等级
    roleData.vipLevel = @"VIP8"; // VIP等级
    roleData.roleGender = @"男"; // 角色性别
    roleData.partyName = @"天下第一帮"; // 帮派名称
    roleData.professionId = @"1"; // 角色职业Id
    roleData.profession = @"法师"; // 角色职业名称
    roleData.friendList = @"[]"; // 角色好友列表
    [[BstSDKManager sharedInstance]sdkUploadGameRoleInfo:roleData];
    }
  7. 支付(必接)

    -(IBAction)payAction:(UIButton *)sender {
    GameRoleData *roleData = [[GameRoleData alloc] init];
    //角色上报类型(0:未知;1:进入游戏;2:创建角色:3:角色升级;4:角色充值;5:退出登录或者切换账号;99:退出游戏)
    roleData.eventName = UploadRoleInfoTypeRecharge;  // 固定上报
    roleData.serverId = @"1"; //区服ID
    roleData.serverName = @"1区"; //区服名称
    roleData.roleId = @"10000"; //角色ID
    roleData.roleName = @"孙悟空"; //角色名称
    roleData.roleBalance = @"8899"; //角色游戏内货币余额
    roleData.partyRoleId = @"1008"; //帮派ID
    roleData.rolePower = @"100000"; //角色战力
    roleData.vipLevel = @"VIP8"; //VIP等级
    roleData.roleGender = @"男"; //角色性别
    roleData.partyName = @"天下第一帮"; //帮派名称
    roleData.professionId = @"1"; //角色职业Id
    roleData.profession = @"法师"; //角色职业名称
    roleData.friendList = @"[]"; //角色好友列表
    roleData.roleLevel = @"11";
    OrderInfo *orderInfo = [[OrderInfo alloc] init];
    orderInfo.cpOrderID = [NSString stringWithFormat:@"cpOrder_test_%u",  arc4random() % 1000]; //cp的订单编号
    orderInfo.amount = @"0.01"; //订单金额(元,保留2位小数)
    orderInfo.payCount = 9999;  //游戏币数量,即20元可以购买多少游戏币(此值若无,可以和 amount 填写相同的即可)
    orderInfo.goodsID = @"商品ID"; //游戏方商品Id
    orderInfo.goodsName = @"点券"; //商品名称,如元宝、钻石、点券等
    orderInfo.goodsDesc = @"月卡"; //商品描述,如周卡、月卡、元旦活动648送10%
    orderInfo.extrasParams = @"5250-61361713774237|30010001|10|0|662612bc11003c64ec25d11f|charge_10|110.41.165.51:16673";
    [[BstSDKManager sharedInstance]SdkShowRecharge:roleData orderInfo:orderInfo];
    }

二、环境配置

  1. 注意事项

    所有的方法请在主线程(UI线程)中调用