Blame view

ios/GameSDKDemo/letsgameDemo/LSGMainViewController.m 9.48 KB
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
1
2
3
4
5
6
7
8
9
10
11
12
  //
  //  LSGMainViewController.m
  //  letsgameDemo
  //
  //  Created by zhy on 14-5-24.
  //
  //
  
  #import "LSGMainViewController.h"
  #import "LetsGameAPI.h"
  #import "LetsGameActivityAPI.h"
  #import "GPGameLoginSDK.h"
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  @interface LSGMainViewController ()
  
  @property (nonatomic, strong) UILabel *resultLabel;
  
  @property(nonatomic,strong) NSNumber *userId;
  
  @property(nonatomic, assign) BOOL payToWeb;
  
  @property(nonatomic, strong) UITextField *activityTextField;
  @end
  
  @implementation LSGMainViewController
  
  - (void)loadView {
      [super loadView];
      NSLog(@"i come in");
  //    self.view.backgroundColor = [UIColor whiteColor];
      self.view.backgroundColor = [UIColor blackColor];
      
      UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)];
      btn.backgroundColor = [UIColor orangeColor];
      [btn setTitle:@"测试入口" forState:UIControlStateNormal];
      [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
      btn.titleLabel.font = [UIFont systemFontOfSize:15];
      [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside];
      [self.view addSubview:btn];
      
      UILabel *payWarnLabel = [[UILabel alloc] initWithFrame:CGRectMake(110, 85, 150, 10)];
      payWarnLabel.text = @"默认V3支付,点击Switch是V4支付";
      payWarnLabel.backgroundColor = [UIColor clearColor];
      payWarnLabel.font = [UIFont systemFontOfSize:9];
      [payWarnLabel setTextColor:[UIColor whiteColor]];
      [self.view addSubview:payWarnLabel];
      
      UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)];
      payBtn.backgroundColor = [UIColor orangeColor];
      [payBtn setTitle:@"支付" forState:UIControlStateNormal];
      [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
      payBtn.titleLabel.font = [UIFont systemFontOfSize:15];
      [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside];
      [self.view addSubview:payBtn];
      
      self.payToWeb = NO;
      UISwitch *webVersion = [[UISwitch alloc] initWithFrame:CGRectMake(220,100,60,30)];
      [webVersion addTarget:self action:@selector(onPayWebTo) forControlEvents:UIControlEventValueChanged];
      [self.view addSubview:webVersion];
      
      UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)];
      iapBtn.backgroundColor = [UIColor orangeColor];
      [iapBtn setTitle:@"IAP" forState:UIControlStateNormal];
      [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
      iapBtn.titleLabel.font = [UIFont systemFontOfSize:15];
      [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside];
      [self.view addSubview:iapBtn];
      
      UIButton *activityBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)];
      activityBtn.backgroundColor = [UIColor orangeColor];
      [activityBtn setTitle:@"Activity" forState:UIControlStateNormal];
      [activityBtn setTintColor:[UIColor whiteColor]];
      activityBtn.titleLabel.font = [UIFont systemFontOfSize:15];
      [activityBtn addTarget:self action:@selector(onActivity) forControlEvents:UIControlEventTouchUpInside];
      [self.view addSubview:activityBtn];
      
58aa87d07   alexYang   账号联动和iap支付中重复充值中的问题
76
77
78
79
80
81
82
      UIButton *cleanUserInfoBtn = [[UIButton alloc] initWithFrame:CGRectMake(300, 40, 100, 30)];
      cleanUserInfoBtn.backgroundColor = [UIColor orangeColor];
      [cleanUserInfoBtn setTitle:@"cleanUserInfo" forState:UIControlStateNormal];
      [cleanUserInfoBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
      cleanUserInfoBtn.titleLabel.font = [UIFont systemFontOfSize:15];
      [cleanUserInfoBtn addTarget:self action:@selector(cleanUserInfoClick) forControlEvents:UIControlEventTouchUpInside];
      [self.view addSubview:cleanUserInfoBtn];
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
83
   
58aa87d07   alexYang   账号联动和iap支付中重复充值中的问题
84
85
86
87
88
89
90
91
      UIButton *linkBtn = [[UIButton alloc] initWithFrame:CGRectMake(300, 100, 100, 30)];
      linkBtn.backgroundColor = [UIColor orangeColor];
      [linkBtn setTitle:@"link" forState:UIControlStateNormal];
      [linkBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
      linkBtn.titleLabel.font = [UIFont systemFontOfSize:15];
      [linkBtn addTarget:self action:@selector(linkBtnClick) forControlEvents:UIControlEventTouchUpInside];
      [self.view addSubview:linkBtn];
      
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
      
      UIButton *switchSysBtn = [[UIButton alloc] initWithFrame:CGRectMake(300, 160, 100, 30)];
      switchSysBtn.backgroundColor = [UIColor orangeColor];
      [switchSysBtn setTitle:@"switchGameCenter" forState:UIControlStateNormal];
      [switchSysBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
      switchSysBtn.titleLabel.font = [UIFont systemFontOfSize:15];
      [switchSysBtn addTarget:self action:@selector(switchGameCentBtnClick) forControlEvents:UIControlEventTouchUpInside];
      [self.view addSubview:switchSysBtn];
      
      UITextField *activityField = [[UITextField alloc] initWithFrame:CGRectMake(220, 220, 100, 30)];
      activityField.placeholder = @"活动类型";
      activityField.backgroundColor = [UIColor whiteColor];
      self.activityTextField = activityField;
      [self.view addSubview:self.activityTextField];
       
  }
  
  - (UILabel *)resultLabel {
      if (!_resultLabel) {
          _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)];
          _resultLabel.backgroundColor = [UIColor clearColor];
          _resultLabel.textAlignment = NSTextAlignmentCenter;
          _resultLabel.textColor = [UIColor redColor];
          _resultLabel.font = [UIFont systemFontOfSize:15];
          _resultLabel.numberOfLines = 4;
          _resultLabel.lineBreakMode = NSLineBreakByWordWrapping;
          [self.view addSubview:_resultLabel];
      }
      
      return _resultLabel;
  }
  
  
  - (void)onClickTest {
58aa87d07   alexYang   账号联动和iap支付中重复充值中的问题
126
      [[GPGameLoginSDK instance] GPGameLoginWithViewController:self appID:@"10022" channelId:@"1000"];
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
127
128
129
130
131
132
133
134
135
136
137
      [GPGameLoginSDK instance].succBlock = ^(NSNumber *userId, ACCOUNTENTERTYPE type) {
          self.resultLabel.text = [NSString stringWithFormat:@"userId: %@, accountType: %ld", userId, (long)type];
          self.userId = userId;
      };
      [GPGameLoginSDK instance].failBlock = ^{
          self.resultLabel.text = @"login error";
      };
  }
  
  
  -(void)onPayTest{
58aa87d07   alexYang   账号联动和iap支付中重复充值中的问题
138

d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
139
140
141
142
143
144
      [LetsGameAPI instance].appId = @"100";//@"10056";//10022
      NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
      [payInfo setValue:@"100" forKey:@"serverId"];
      [payInfo setValue:@"41080" forKey:@"roleId"];
      [payInfo setValue:@"1000" forKey:@"channelId"];
      [payInfo setValue:self.userId forKey:@"userId"];
9125aae2c   alexYang   第三方支付增加货币种类
145
146
      [payInfo setValue:@"0.01" forKey:@"amount"];//商品价格
      [payInfo setValue:@"USD" forKey:@"currency"];//货币种类
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
      [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
      [payInfo setValue:@"test" forKey:@"product"];
  //    [[LetsGameAPI instance] pay:payInfo handleCallBack:^{
  //        NSLog(@"第三方支付完成");
  //    }];
      [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
          NSLog(@"第三方支付完成");
      }];
  }
  
  -(void)onIapTest{
  
      [LetsGameAPI instance].appId = @"100";
      NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
      [payInfo setValue:@"100" forKey:@"serverId"];
      [payInfo setValue:@"41080" forKey:@"roleId"];
      [payInfo setValue:self.userId forKey:@"userId"];
      [payInfo setValue:@"1000" forKey:@"channelId"];
      [payInfo setValue:@"10" forKey:@"amount"];
      [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
      [payInfo setValue:@"com.gump.pro1" forKey:@"product"];
      [[LetsGameAPI instance] iap:payInfo succCallback:^(NSString *orderId) {
          //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准
          NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
      } failCallback:^(NSString *orderId) {
          NSLog(@"IAP file orderId of Gumptech:%@",orderId);
      }];
  }
  
  -(void)onActivity{
      
      [[LetsGameActivityAPI instance] decideIsDebug:1];
      NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary];
      [activityInfo setValue:@"100" forKey:@"appId"];
      [activityInfo setValue:@"17670327" forKey:@"userId"];
      [activityInfo setValue:@"55" forKey:@"serverId"];
      [activityInfo setValue:@"Pidmon" forKey:@"serverName"];
      [activityInfo setValue:@"55004444" forKey:@"roleId"];
      [activityInfo setValue:@"Marin" forKey:@"roleName"];
      [activityInfo setValue:@"140" forKey:@"diamond"];
      [activityInfo setValue:self.activityTextField.text forKey:@"campaignType"];
      [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{
          NSLog(@"activity finish!");
      }];
  }
58aa87d07   alexYang   账号联动和iap支付中重复充值中的问题
192
193
194
195
196
197
  -(void)linkBtnClick{
      NSMutableDictionary *linkParaDic = [NSMutableDictionary dictionary];
      [linkParaDic setObject:@"10022" forKey:@"appId"];
      [linkParaDic setObject:self.userId forKey:@"userId"];
      //仅在切换账号成功的时候有返回值
      [[GPGameLoginSDK instance] GPGameAccountLinkViewController:self InfoDic:linkParaDic callBack:^(NSNumber *userId, ACCOUNTENTERTYPE type) {
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
198
          self.resultLabel.text = [NSString stringWithFormat:@"userId: %@, accountType: %ld", userId, (long)type];
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
      }];
  }
  
  -(void)onPayWebTo{
      if (!self.payToWeb) {
          self.payToWeb = YES;
          [[LetsGameAPI instance] decideWebToVersion:1];
      }else{
          self.payToWeb = NO;
          [[LetsGameAPI instance] decideWebToVersion:0];
      }
  }
  
  -(void)switchGameCentBtnClick{
      [[GPGameLoginSDK instance] GPSwitchGameCenterWithViewController:self switchCallBack:^{
          self.resultLabel.text = @"Login Game Center";
      }];
  }
58aa87d07   alexYang   账号联动和iap支付中重复充值中的问题
217
218
219
  -(void)cleanUserInfoClick{
      [[GPGameLoginSDK instance] cleanUserInfo];
  }
d7a5aae31   alexYang   IAP支付方法修改,第三方支付不传...
220
  @end