Gump IOS SDK使用文档
接入手册
V
2015年09月25日
1、添加动态库
在工程里添加MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、libletsgame.a、StoreKit.framework、VKSdk.framework
2、设置头文件搜索路径
头文件只有LetsGameAPI.h和LSGAccount.h两个文件,引入头文件,并设置搜索路径。
3、添加资源文件
在工程里添加letsgame.bundle和VKSDKResources.bundle资源文件,里面包含图片及相关语言包
4、为vk增加必要配置
1)在application delegate方法中, 在application:openURL:sourceApplication:annotation:添加返回:
return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
2)配置URL-schema
Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields.
Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID
5、在工程里添加SDK登录代码
[LetsGameAPI instance].appId = @"100"; // 设置appId
[LetsGameAPI instance].appKey = @"100"; // 设置appKey
[LetsGameAPI instance].vkAppId = @"5029792"; //设置vkAppId
[[LetsGameAPI instance] showLoginView]; // 弹出登录页面
// 登录成功回调
[LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
};
// 登录失败回调
[LetsGameAPI instance].dismissBlock = ^() {
NSLog(@"dismiss without login");
};
6、第三方支付
[LetsGameAPI instance].appId = @"10022";
[LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
[payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
[payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
[payInfo setValue:@"10" forKey:@"amount"];//金额
[payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
[payInfo setValue:@"元宝" forKey:@"product"];//物品信息
[[LetsGameAPI instance] pay:payInfo];
7、IAP支付
若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
[[LetsGameAPI instance] registeIapObserver];
具体调用iap支付的方法如下:
[LetsGameAPI instance].appId = @"10022";
[LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
[payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
[payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
[payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
[payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
[payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
[payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
[[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){
//此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
//orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
NSLog(@"iap completed orderId of gumptech:%@",orderId);
}];