1、将SDK导入工程中
说明:
为了缩小SDK的大小,采用了分版本的形式打包SDK,因此SDK的文件夹下有以下三个版本的framework:
图1.BDGamesSDK版本调试版真机:适用于armv7(3gs、4s)、armv7s(5~5c)、arm64(5s~6s plus)架构的真机测试
调试版模拟器:适用于i386(4s~5)、x86_64(5s~6s plus)架构的模拟器测试
发布版真机:适用于发布到AppStore
选择相应的Framework测试即可
导入SDK:
图2.BDGamesSDK1、将BDGamesSDK.framework、BDSDKResource.bundle拖入游戏工程中:
图3.Add Files to xxx2、嵌入BDGamesSDK.framework到工程中
图4.将framework引入到工程中3、设置IOS Deployment Target
图5.设置工程targetSDK导入完成,运行之后如果出现以下问题:
1、The resource could not be loaded because the App Transport Security policy requires the use of a sec
解决方法:
info.plist文件中增加NSAppTransportSecurity 在其中再增加NSAllowsArbitraryLoads 改为YES
2、dyld: Library not loaded:@rpath/BDGamesSDK.framework/BDGamesSDK
解决方法:
检查第二步图4是否完成。
2、SDK API 使用说明
1、BDGamesSDK交互机制
BDGamesSDK采用delegate(代理)的方式进行交互,SDK提供了包括初始化完成、登录、注销账号、退出用户中心、更新游戏数据在内的代理方法供游戏进行交互,因此需要游戏设置代理、遵守代理协议(BDSDKDelegate)、实现代理方法。
返回结果统一使用BDResult类,目前BDResult类仅有isSuccess(是否成功)、message(消息)两个属性可用,其他属性暂不用,为拓展属性。
2、设置基本参数 进行SDK初始化
BDGamesSDK *instance=[BDGamesSDK defaultSDK];
//获取BDGamesSDK实例
instance.cpId=@"38";//cpid(从平台处获取)
instance.gameId=@"82";//gameid(从平台处获取)
instance.apiKey=@"61A9461627FC5C13B061B611BE7A36B3";
//apiKey(从平台处获取)
instance.floatButtonPosition=CGPointMake(50,0);
//浮动按钮位置,0~100(百分比),默认为0,0
instance.isNetworkGame=NO;
//是否是网游NO单机YES网游
instance.orientation=BD_LANDSCAPE;
//设置SDK界面方向支持竖屏(BD_PORTRAIT)、横屏(BD_LANDSCAPE)
id rootView = [RootViewController getInstance];
//根视图
instance.delegate= rootView;
//BDGamesSDK代理对象
[instance initSDK];
//调用初始化方法
3、实现初始化代理方法:
- (void)bdSDKOnInitFinishedWithResult:(BDResult*)result;//根据result返回结果来进行相应的处理,一般来说初始化成功之后便可调用login方法调出登录界面
4、调出登录界面(必须先完成初始化,否则无法调出)
调用方法:[[BDGamesSDK defaultSDK] login];
图6.登录效果图5、实现登录的代理方法:
- (void)bdSDKOnLoginFinishedWithResult:(BDResult*)result;//根据result的返回结果做相应的业务处理
6、登录成功之后如果是网游请设置serverID,否则跳过
[[BDGamesSDK defaultSDK] setServerId:@"xxx"];//xxx为服务器id
7、调用enterGame(进入游戏)方法,并实现进入游戏代理方法
- (void)bdSDKEnterGameWithResult:(BDResult*)result;//根据result的返回结果做相应的业务处理
SDK进入游戏回调成功之后 游戏便可以正式进入
8、更新游戏数据
游戏客户端调用该方法更新角色等级或者游戏关卡数据:
- (void)reloadGameData:(NSString*)data dataType:(NSString*)dataType;
data:等级或者关卡数
dataType:0是等级,1是关卡
游戏客户端实现更新游戏数据代理方法:
- (void)bdSDKReloadGameDataWithResult:(BDResult*)result;//根据result的返回结果做相应的业务处理
9、显示浮窗按钮
调用方法:[[BDGamesSDK defaultSDK] showFloatButtonWinow];
登录成功之后默认显示浮窗按钮,此时再调用此方法会使按钮高亮与半透明状态之间切换,浮窗按钮被点击也会处于高亮状态,默认4秒之后按钮半透明隐藏。
图7.高亮浮窗按钮 图8.半透明浮窗按钮10、进入个人中心
进入个人中心有两种方式:
1)、点击浮窗按钮直接进入
2)、调用方法[[BDGamesSDK defaultSDK] enterUserCenterWindow];
用户中心有两种形式的界面:浮窗个人中心、全屏个人中心
图9.浮窗个人中心点击个人头像可以进入到全屏个人中心:
图10.全屏个人中心11、实现退出个人中心代理方法
当点击浮窗个人中心以外的其它范围会退出个人中心,同时会响应退出个人中心的代理方法:
- (void)bdSDKUserCenterExitWithResult:(BDResult*)result;
12、实现注销帐号的代理方法
- (void)bdSDKLoginOutWithResult:(BDResult*)result;//当用户选择退出帐号、或者切换帐号的时候该代理方法会响应
网友评论