Commit 79f6c46effadd74f71a62279966507f72b676660

Authored by alexYang
1 parent bf74f0bb66
Exists in master

文档修改,注销部分和token获取

Showing 3 changed files with 23 additions and 4 deletions Inline Diff

1 # Gump IOS SDK使用文档 1 # Gump IOS SDK使用文档
2 2
3 3
4 接入手册 4 接入手册
5 V 3.3.19 5 V 3.3.19
6 2016年11月14日 6 2016年11月14日
7 7
8 ## 概述 8 ## 概述
9 #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 9 #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。
10 10
11 ## 接入步骤 11 ## 接入步骤
12 ### 1、添加Framework和资源文件 12 ### 1、添加Framework和资源文件
13 + 以下为必须添加的framework以及资源bundle: 13 + 以下为必须添加的framework以及资源bundle:
14 MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle 14 MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle
15 + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本 15 + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本
16 VKSdk.framework、VKBridge.framework、VKSDKResources.bundle 16 VKSdk.framework、VKBridge.framework、VKSDKResources.bundle
17 + 以下为可选,若接入bluePay第三方支付方式需要添加一下的framework和bundle,其中CoreBuePay.framework直接引入工程,之后再依次引入CoreTelephony.framework、MessageUI.framework、SystemConfiguration.framework,最后将BlueMobile.bundle拖入项目中 17 + 以下为可选,若接入bluePay第三方支付方式需要添加一下的framework和bundle,其中CoreBuePay.framework直接引入工程,之后再依次引入CoreTelephony.framework、MessageUI.framework、SystemConfiguration.framework,最后将BlueMobile.bundle拖入项目中
18 18
19 19
20 ### 2、引入头文件,设置build setting 20 ### 2、引入头文件,设置build setting
21 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 21 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。
22 因sdk内使用了category,需要设置other linker flag为 -ObjC 22 因sdk内使用了category,需要设置other linker flag为 -ObjC
23 23
24 24
25 ### 3、增加必要配置 25 ### 3、增加必要配置
26 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: 26 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回:
27 27
28 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 28 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
29 29
30 30
31 2)配置URL-schema(vk专用,不接入vk可忽略) 31 2)配置URL-schema(vk专用,不接入vk可忽略)
32 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. 32 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.
33 ![](images/vk1.jpg) 33 ![](images/vk1.jpg)
34 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID 34 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID
35 ![](images/vk2.jpg) 35 ![](images/vk2.jpg)
36 36
37 3)配置plist和scheme(BluePay的linePay使用,不接入BluePay的LinePay可忽略) 37 3)配置plist和scheme(BluePay的linePay使用,不接入BluePay的LinePay可忽略)
38 38
39 plist部分: 39 plist部分:
40 <key>LSApplicationQueriesSchemes</key> 40 <key>LSApplicationQueriesSchemes</key>
41 <array> 41 <array>
42 <string>line</string> 42 <string>line</string>
43 </array> 43 </array>
44 scheme部分: 44 scheme部分:
45 <key>CFBundleURLTypes</key> 45 <key>CFBundleURLTypes</key>
46 <array> 46 <array>
47 <dict> 47 <dict>
48 <key>CFBundleTypeRole</key> 48 <key>CFBundleTypeRole</key>
49 <string>None</string> 49 <string>None</string>
50 <key>CFBundleURLName</key> 50 <key>CFBundleURLName</key>
51 <string>com.gump.sdk</string> 51 <string>com.gump.sdk</string>
52 <key>CFBundleURLSchemes</key> 52 <key>CFBundleURLSchemes</key>
53 <array> 53 <array>
54 <string> gump+游戏的appId </string> 54 <string> gump+游戏的appId </string>
55 </array> 55 </array>
56 </dict> 56 </dict>
57 </array> 57 </array>
58 ### 4、在工程里添加SDK登录代码 58 ### 4、在工程里添加SDK登录代码
59 59
60 [LetsGameAPI instance].appId = @"100"; // 设置appId 60 [LetsGameAPI instance].appId = @"100"; // 设置appId
61 [LetsGameAPI instance].appKey = @"100"; // 设置appKey 61 [LetsGameAPI instance].appKey = @"100"; // 设置appKey
62 62
63 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 63 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略
64 //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; 64 //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"];
65 //[LetsGameAPI instance].vkBridge = vkBridge; 65 //[LetsGameAPI instance].vkBridge = vkBridge;
66 66
67 //隐藏fb登录 67 //隐藏fb登录
68 [LetsGameAPI disableFB:YES]; 68 [LetsGameAPI disableFB:YES];
69 69
70 //隐藏gumptech的logo 70 //隐藏gumptech的logo
71 [LetsGameAPI hiddenLogo:YES]; 71 [LetsGameAPI hiddenLogo:YES];
72 72
73 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 73 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
74 74
75 // 登录成功回调 75 // 登录成功回调
76 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { 76 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
77 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); 77 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
78 }; 78 };
79 79
80 // 登录失败回调 80 // 登录失败回调
81 [LetsGameAPI instance].dismissBlock = ^() { 81 [LetsGameAPI instance].dismissBlock = ^() {
82 NSLog(@"dismiss without login"); 82 NSLog(@"dismiss without login");
83 }; 83 };
84 84
85 ### 5、登录注销
86 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。
85 87
86 ### 5、第三方支付 88 [LetsGameAPI instance].appId = @"100";//设置appId
89 [LetsGameAPI instance].appKey = @"100";//设置appkey
90 [[LetsGameAPI instance] logout]; //注销
91
92
93 ### 6、第三方支付
87 [LetsGameAPI instance].appId = @"10022"; 94 [LetsGameAPI instance].appId = @"10022";
88 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; 95 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
89 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 96 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
90 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 97 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
91 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id 98 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id
92 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id 99 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
93 [payInfo setValue:@"10" forKey:@"amount"];//金额 100 [payInfo setValue:@"10" forKey:@"amount"];//金额
94 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 101 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
95 [payInfo setValue:@"元宝" forKey:@"product"];//物品信息 102 [payInfo setValue:@"元宝" forKey:@"product"];//物品信息
96 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey 103 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey
97 [payInfo setValue:@"1" forKey:@"iosBlue"];//接入完BluePay,需要使用时需要的标志位 104 [payInfo setValue:@"1" forKey:@"iosBlue"];//接入完BluePay,需要使用时需要的标志位
98 [[LetsGameAPI instance] pay:payInfo handleCallBack:^{ 105 [[LetsGameAPI instance] pay:payInfo handleCallBack:^{
99 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 106 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调
100 NSLog(@"第三方支付完成"); 107 NSLog(@"第三方支付完成");
101 }]]; 108 }]];
102 109
103 ### 6、IAP支付 110 ### 7、IAP支付
104 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 111 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
105 112
106 [[LetsGameAPI instance] registeIapObserver]; 113 [[LetsGameAPI instance] registeIapObserver];
107 具体调用iap支付的方法如下: 114 具体调用iap支付的方法如下:
108 115
109 [LetsGameAPI instance].appId = @"10022"; 116 [LetsGameAPI instance].appId = @"10022";
110 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; 117 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
111 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 118 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
112 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id 119 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
113 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id 120 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
114 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 121 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
115 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 122 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
116 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 123 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
117 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId 124 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
118 [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){ 125 [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){
119 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 126 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
120 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 127 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
121 NSLog(@"iap completed orderId of gumptech:%@",orderId); 128 NSLog(@"iap completed orderId of gumptech:%@",orderId);
122 }]; 129 }];
123 ### 7、SDK版本测试设置 130 ### 8、SDK版本测试设置
124 若想使用SDK的debug版本,需要在AppDelegate的application: didFinishLaunchingWithOptions:中设置: 131 若想使用SDK的debug版本,需要在AppDelegate的application: didFinishLaunchingWithOptions:中设置:
125 132
126 [[LetsGameAPI instance] decideIsDebug:1]; 133 [[LetsGameAPI instance] decideIsDebug:1];
127 不设置或者设置为0时,默认使用release版本 134 不设置或者设置为0时,默认使用release版本
135 ### 9、token的获取
136 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。
137
138 //tokenString:token字符串
139 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间
140 //expirationTime:expirationTime token最后的有效时间
141 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) {
142 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime);
143 } failure:^(NSString *errorString) {
144 NSLog(@"get token faile");
145 }];
146
128 147
ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ios/GameSDKDemo/letsgameDemo/LSGMainViewController.m
1 // 1 //
2 // LSGMainViewController.m 2 // LSGMainViewController.m
3 // letsgameDemo 3 // letsgameDemo
4 // 4 //
5 // Created by zhy on 14-5-24. 5 // Created by zhy on 14-5-24.
6 // 6 //
7 // 7 //
8 8
9 #import "LSGMainViewController.h" 9 #import "LSGMainViewController.h"
10 #import "LetsGameAPI.h" 10 #import "LetsGameAPI.h"
11 #import "VKBridge.h" 11 #import "VKBridge.h"
12 12
13 13
14 @interface LSGMainViewController () 14 @interface LSGMainViewController ()
15 15
16 @property (nonatomic, strong) UILabel *resultLabel; 16 @property (nonatomic, strong) UILabel *resultLabel;
17 17
18 @property(nonatomic,strong) UIButton *vkActivityShareBtn; 18 @property(nonatomic,strong) UIButton *vkActivityShareBtn;
19 19
20 @property(nonatomic,copy) NSString *sessionKey; 20 @property(nonatomic,copy) NSString *sessionKey;
21 @end 21 @end
22 22
23 @implementation LSGMainViewController 23 @implementation LSGMainViewController
24 24
25 - (void)loadView { 25 - (void)loadView {
26 [super loadView]; 26 [super loadView];
27 NSLog(@"i come in"); 27 NSLog(@"i come in");
28 self.view.backgroundColor = [UIColor whiteColor]; 28 self.view.backgroundColor = [UIColor whiteColor];
29 // self.view.backgroundColor = [UIColor blackColor]; 29 // self.view.backgroundColor = [UIColor blackColor];
30 30
31 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)]; 31 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)];
32 btn.backgroundColor = [UIColor orangeColor]; 32 btn.backgroundColor = [UIColor orangeColor];
33 [btn setTitle:@"测试入口" forState:UIControlStateNormal]; 33 [btn setTitle:@"测试入口" forState:UIControlStateNormal];
34 [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 34 [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
35 btn.titleLabel.font = [UIFont systemFontOfSize:15]; 35 btn.titleLabel.font = [UIFont systemFontOfSize:15];
36 [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside]; 36 [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside];
37 [self.view addSubview:btn]; 37 [self.view addSubview:btn];
38 38
39 39
40 40
41 UIButton *bindtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)]; 41 UIButton *bindtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)];
42 bindtn.backgroundColor = [UIColor orangeColor]; 42 bindtn.backgroundColor = [UIColor orangeColor];
43 [bindtn setTitle:@"退出账号" forState:UIControlStateNormal]; 43 [bindtn setTitle:@"退出账号" forState:UIControlStateNormal];
44 [bindtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 44 [bindtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
45 bindtn.titleLabel.font = [UIFont systemFontOfSize:15]; 45 bindtn.titleLabel.font = [UIFont systemFontOfSize:15];
46 [bindtn addTarget:self action:@selector(onLogoutTest) forControlEvents:UIControlEventTouchUpInside]; 46 [bindtn addTarget:self action:@selector(onLogoutTest) forControlEvents:UIControlEventTouchUpInside];
47 [self.view addSubview:bindtn]; 47 [self.view addSubview:bindtn];
48 48
49 UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)]; 49 UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)];
50 payBtn.backgroundColor = [UIColor orangeColor]; 50 payBtn.backgroundColor = [UIColor orangeColor];
51 [payBtn setTitle:@"支付" forState:UIControlStateNormal]; 51 [payBtn setTitle:@"支付" forState:UIControlStateNormal];
52 [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 52 [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
53 payBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 53 payBtn.titleLabel.font = [UIFont systemFontOfSize:15];
54 [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside]; 54 [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside];
55 [self.view addSubview:payBtn]; 55 [self.view addSubview:payBtn];
56 56
57 UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)]; 57 UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)];
58 iapBtn.backgroundColor = [UIColor orangeColor]; 58 iapBtn.backgroundColor = [UIColor orangeColor];
59 [iapBtn setTitle:@"IAP" forState:UIControlStateNormal]; 59 [iapBtn setTitle:@"IAP" forState:UIControlStateNormal];
60 [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 60 [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
61 iapBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 61 iapBtn.titleLabel.font = [UIFont systemFontOfSize:15];
62 [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside]; 62 [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside];
63 [self.view addSubview:iapBtn]; 63 [self.view addSubview:iapBtn];
64 64
65 65
66 } 66 }
67 67
68 - (UILabel *)resultLabel { 68 - (UILabel *)resultLabel {
69 if (!_resultLabel) { 69 if (!_resultLabel) {
70 _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)]; 70 _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)];
71 _resultLabel.backgroundColor = [UIColor clearColor]; 71 _resultLabel.backgroundColor = [UIColor clearColor];
72 _resultLabel.textAlignment = NSTextAlignmentCenter; 72 _resultLabel.textAlignment = NSTextAlignmentCenter;
73 _resultLabel.textColor = [UIColor redColor]; 73 _resultLabel.textColor = [UIColor redColor];
74 _resultLabel.font = [UIFont systemFontOfSize:15]; 74 _resultLabel.font = [UIFont systemFontOfSize:15];
75 _resultLabel.numberOfLines = 4; 75 _resultLabel.numberOfLines = 4;
76 _resultLabel.lineBreakMode = NSLineBreakByWordWrapping; 76 _resultLabel.lineBreakMode = NSLineBreakByWordWrapping;
77 [self.view addSubview:_resultLabel]; 77 [self.view addSubview:_resultLabel];
78 } 78 }
79 79
80 return _resultLabel; 80 return _resultLabel;
81 } 81 }
82 82
83 83
84 - (void)onClickTest { 84 - (void)onClickTest {
85 85
86 [LetsGameAPI instance].appId = @"10056";//10047 86 [LetsGameAPI instance].appId = @"10056";//10047
87 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";//eccd9f7dc92858b741132fda313130cf 87 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";//eccd9f7dc92858b741132fda313130cf
88 [LetsGameAPI hiddenLogo:YES]; 88 [LetsGameAPI hiddenLogo:YES];
89 // [LetsGameAPI disableFB:NO]; 89 // [LetsGameAPI disableFB:NO];
90 NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]); 90 NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]);
91 //启用vk登录 91 //启用vk登录
92 VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; 92 VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"];
93 [LetsGameAPI instance].vkBridge = vkBridge; 93 [LetsGameAPI instance].vkBridge = vkBridge;
94 94
95 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { 95 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
96 self.sessionKey = sessionKey; 96 self.sessionKey = sessionKey;
97 self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type]; 97 self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type];
98 }; 98 };
99 [LetsGameAPI instance].dismissBlock = ^() { 99 [LetsGameAPI instance].dismissBlock = ^() {
100 self.resultLabel.text = @"dismiss without login"; 100 self.resultLabel.text = @"dismiss without login";
101 }; 101 };
102 102
103 [[LetsGameAPI instance] showLoginView]; 103 [[LetsGameAPI instance] showLoginView];
104 } 104 }
105 105
106 106
107 - (void)onLogoutTest { 107 - (void)onLogoutTest {
108 [LetsGameAPI instance].appId = @"10056"; 108 [LetsGameAPI instance].appId = @"10056";
109 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; 109 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";
110 [[LetsGameAPI instance] logout]; 110 [[LetsGameAPI instance] logout];
111 111
112 } 112 }
113 113
114 -(void)onPayTest{ 114 -(void)onPayTest{
115 [LetsGameAPI instance].appId = @"10056";//10022 115 [LetsGameAPI instance].appId = @"10056";//10022
116 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab 116 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab
117 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 117 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
118 [payInfo setValue:@"100" forKey:@"serverId"]; 118 [payInfo setValue:@"100" forKey:@"serverId"];
119 [payInfo setValue:@"10010" forKey:@"roleId"]; 119 [payInfo setValue:@"10010" forKey:@"roleId"];
120 [payInfo setValue:@"1000" forKey:@"channelId"]; 120 [payInfo setValue:@"1000" forKey:@"channelId"];
121 [payInfo setValue:@"10" forKey:@"amount"]; 121 [payInfo setValue:@"10" forKey:@"amount"];
122 [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; 122 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
123 [payInfo setValue:@"test" forKey:@"product"]; 123 [payInfo setValue:@"test" forKey:@"product"];
124 [payInfo setValue:@"76c17cc68ff9f7f40bd3d096ccc5600a" forKey:@"sessionKey"]; //self.sessionKey 124 [payInfo setValue:@"76c17cc68ff9f7f40bd3d096ccc5600a" forKey:@"sessionKey"]; //self.sessionKey
125 [payInfo setValue:@"1" forKey:@"iosBlue"]; 125 [payInfo setValue:@"1" forKey:@"iosBlue"];
126 [[LetsGameAPI instance] pay:payInfo handleCallBack:^{ 126 [[LetsGameAPI instance] pay:payInfo handleCallBack:^{
127 NSLog(@"第三方支付完成"); 127 NSLog(@"第三方支付完成");
128 }]; 128 }];
129 } 129 }
130 130
131 -(void)onIapTest{ 131 -(void)onIapTest{
132 [LetsGameAPI instance].appId = @"10022"; 132 [LetsGameAPI instance].appId = @"10022";
133 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; 133 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
134 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 134 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
135 [payInfo setValue:@"5001" forKey:@"serverId"]; 135 [payInfo setValue:@"5001" forKey:@"serverId"];
136 [payInfo setValue:@"10010" forKey:@"roleId"]; 136 [payInfo setValue:@"10010" forKey:@"roleId"];
137 [payInfo setValue:@"1000" forKey:@"channelId"]; 137 [payInfo setValue:@"1000" forKey:@"channelId"];
138 [payInfo setValue:@"10" forKey:@"amount"]; 138 [payInfo setValue:@"10" forKey:@"amount"];
139 [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; 139 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
140 [payInfo setValue:@"test.product.1" forKey:@"product"]; 140 [payInfo setValue:@"test.product.1" forKey:@"product"];
141 [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){ 141 [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){
142 NSLog(@"IAP completed orderId of Gumptech:%@",orderId); 142 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
143 }]; 143 }];
144 } 144 }
145 145
146 146
147 - (BOOL)shouldAutorotate { 147 - (BOOL)shouldAutorotate {
148 return YES; 148 return YES;
149 } 149 }
150 150
151 -(UIInterfaceOrientationMask)supportedInterfaceOrientations{ 151 -(UIInterfaceOrientationMask)supportedInterfaceOrientations{
152 return UIInterfaceOrientationMaskAll; 152 return UIInterfaceOrientationMaskAll;
153 } 153 }
154 154
155 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 155 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
156 return YES; 156 return YES;
157 } 157 }
158 158
159 @end 159 @end
160 160