(注意:新版本SDK的名称 和调用方法的名字可能不一样。请依给出的framework的头文件为标准。)
一:集成
将GameSDK_Resource文件夹 和 FamesFWSDK.framework 加入项目。
Resource文件夹包含:
- GameImage.bundle (SDK资源)
- SVProgressHUD.bundle (蒙版图片资源)
- IQKeyboardManager(键盘控制)
- UMMobClick.framework(友盟统计 如果游戏中自己集成过友盟,不添不必添加)
二:使用
1:导入头文件:
在使用SDK的地方导入头文件
#import<GamesFWSDK/GameManager.h>
:如果使用了带统计版本的SDK,需要导入类库:
libsqlite3.tbd
libz.tbd
CoreTelephony.framework
SystemConfiguration.framework
2:(非2.3版本,忽略次条)SDK2.3版本需要这个操作,不然会出现界面无图片的现象。添加SDK资源:
选择Targets -->Bulid Phases -->Copy Bundle Resources 点击加号选择GamesFWSDK.framework 然后点击Add。
3:根据标识符初始化SDK:
[[GameManager sharedManager] initSDKWithAppId:@"唯一标识符"];
4:(2.4以及2.4以后的版本,有浮标功能的SDK需要)监测退出游戏事件:
[[GameManager sharedManager] handleGameQuitWith:^(NSString *message) {
//做出相应的游戏退出功能
}];
5:监测支付结果:
在AppDelegate中的applicationWillEnterForeground方法中调用:
[[GameManager sharedManager] handleApplicationWillEnterForeground];
6:在需要调用登录的地方,调用登录方法:
[[GameManager sharedManager] LoginWithSucessBlock:^(int code, NSString *uid, NSString *token) {
// * code=1 账号登录
// * code=2 游客登录
// uid 用户唯一标识
// token 本次登录的标识
}];
7: 在需要调用支付的地方,调用支付方法:
[[GameManager sharedManager] PayProductName:@"产品名" ProductID:@"内购套餐ID" Money:@"支付金额单位是元" OrderID:@"单号" Result:^(int code, NSString *reason) {
// code reason
// * 0 支付失败
// * 1 支付成功
// * 2 用户取消
// * 3 结果不明
// * 4 验证未通过
}];
三:集成常见错误
1, IQKeyboardManager使用报错 如图:
IQKeyboardManager报错.png报错原因:
使用IQKeyboardManager的时候IQKeyboardManager调用了一些C语言底层的方法,而使用的这些C语言的版本和Xcode设置的版本不一样。
解决方案:
- targets->Bulid Settings ->Apple LLVM -Language ->C Language Dialect 选择GNU99 (最新版本)或者GNU89。
- 如果错误依然存在:targets->Bulid Settings ->Apple LLVM -Language -Objective C -> Weak References in Manual Retain Release 将其value 设置为YES.
网友评论