Commit d2548f7e2edde7a5d61d19a404096799b3260548

Authored by alexYang
1 parent a0c47a5318
Exists in master

韩文修改和游客登录并列到第三方登录同级

Showing 11 changed files with 12 additions and 30 deletions Inline Diff

1 # Gump IOS SDK使用文档 1 # Gump IOS SDK使用文档
2 2
3 3
4 接入手册 4 接入手册
5 V 3.6.3 5 V 3.6.4
6 2018年10月19日 6 2018年10月23日
7 7
8 ## 概述 8 ## 概述
9 #### 本SDK提供gump账号,fb账号,Google帐号,line 登录三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 9 #### 本SDK提供gump账号,fb账号,Google帐号,line 登录, 游客登录四种账号登录,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 15
16 ### 2、引入头文件,设置build setting 16 ### 2、引入头文件,设置build setting
17 因sdk内使用了category,需要设置other linker flag为 -ObjC 17 因sdk内使用了category,需要设置other linker flag为 -ObjC
18 18
19 19
20 ### 3、增加必要配置 20 ### 3、增加必要配置
21 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: 21 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回:
22 22
23 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 23 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
24 24
25 25
26 ### 4、在工程里添加SDK登录代码 26 ### 4、在工程里添加SDK登录代码
27 27
28 [LetsGameAPI instance].appId = @"100"; // 设置appId 28 [LetsGameAPI instance].appId = @"100"; // 设置appId
29 [LetsGameAPI instance].appKey = @"100"; // 设置appKey 29 [LetsGameAPI instance].appKey = @"100"; // 设置appKey
30 [LetsGameAPI instance].channelId = @"100"; //设置channelId 30 [LetsGameAPI instance].channelId = @"100"; //设置channelId
31 31
32 //sdk login 初始化 32 //sdk login 初始化
33 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { 33 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) {
34 if (result) { 34 if (result) {
35 NSLog(@"初始化成功"); 35 NSLog(@"初始化成功");
36 //隐藏fb登录 36 //隐藏fb登录
37 [LetsGameAPI disableFB:YES]; 37 [LetsGameAPI disableFB:YES];
38 //隐藏Google登录 38 //隐藏Google登录
39 [LetsGameAPI disableGoogle:YES]; 39 [LetsGameAPI disableGoogle:YES];
40 //隐藏gumptech的logo 40 //隐藏gumptech的logo
41 [LetsGameAPI hiddenLogo:YES]; 41 [LetsGameAPI hiddenLogo:YES];
42 //隐藏line登录 42 //隐藏line登录
43 [LetsGameAPI disableLine:YES]; 43 [LetsGameAPI disableLine:YES];
44 44
45 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 45 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
46 46
47 // 登录成功回调 47 // 登录成功回调
48 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { 48 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
49 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); 49 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
50 }; 50 };
51 51
52 // 登录失败回调,需要游戏自己处理 52 // 登录失败回调,需要游戏自己处理
53 [LetsGameAPI instance].dismissBlock = ^() { 53 [LetsGameAPI instance].dismissBlock = ^() {
54 NSLog(@"dismiss without login"); 54 NSLog(@"dismiss without login");
55 }; 55 };
56 }else{ 56 }else{
57 NSLog(@"初始化失败"); 57 NSLog(@"初始化失败");
58 }]; 58 }];
59 59
60 60
61 61
62 62
63 ### 5、登录注销 63 ### 5、登录注销
64 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 64 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。
65 65
66 [LetsGameAPI instance].appId = @"100";//设置appId 66 [LetsGameAPI instance].appId = @"100";//设置appId
67 [LetsGameAPI instance].appKey = @"100";//设置appkey 67 [LetsGameAPI instance].appKey = @"100";//设置appkey
68 [[LetsGameAPI instance] logout]; //注销 68 [[LetsGameAPI instance] logout]; //注销
69 69
70 70
71 ### 6、第三方支付 71 ### 6、第三方支付
72 [LetsGameAPI instance].appId = @"10022"; 72 [LetsGameAPI instance].appId = @"10022";
73 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; 73 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
74 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 74 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
75 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 75 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
76 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id 76 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id
77 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id 77 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
78 [payInfo setValue:@"10" forKey:@"amount"];//金额 78 [payInfo setValue:@"10" forKey:@"amount"];//金额
79 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 79 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
80 [payInfo setValue:@"元宝" forKey:@"product"];//物品ID 80 [payInfo setValue:@"元宝" forKey:@"product"];//物品ID
81 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey 81 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey
82 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ 82 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
83 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 83 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调
84 NSLog(@"第三方支付完成"); 84 NSLog(@"第三方支付完成");
85 }]]; 85 }]];
86 86
87 ### 7、IAP支付 87 ### 7、IAP支付
88 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 88 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
89 89
90 [[LetsGameAPI instance] registeIapObserver]; 90 [[LetsGameAPI instance] registeIapObserver];
91 具体调用iap支付的方法如下: 91 具体调用iap支付的方法如下:
92 92
93 [LetsGameAPI instance].appId = @"10022"; 93 [LetsGameAPI instance].appId = @"10022";
94 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; 94 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
95 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 95 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
96 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id 96 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
97 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id 97 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
98 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 98 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
99 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 99 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
100 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 100 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
101 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId 101 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
102 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { 102 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) {
103 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 103 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
104 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 104 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
105 NSLog(@"IAP completed orderId of Gumptech:%@",orderId); 105 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
106 } failCallback:^(NSString *orderId) { 106 } failCallback:^(NSString *orderId) {
107 //支付失败 107 //支付失败
108 NSLog(@"IAP file orderId of Gumptech:%@",orderId); 108 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
109 }]; 109 }];
110 ### 8、token的获取 110 ### 8、token的获取
111 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 111 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。
112 112
113 //tokenString:token字符串 113 //tokenString:token字符串
114 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 114 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间
115 //expirationTime:expirationTime token最后的有效时间 115 //expirationTime:expirationTime token最后的有效时间
116 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { 116 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) {
117 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); 117 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime);
118 } failure:^(NSString *errorString) { 118 } failure:^(NSString *errorString) {
119 NSLog(@"get token faile"); 119 NSLog(@"get token faile");
120 }]; 120 }];
121 121
122 122
123 ### 9、第三方支付版本 123 ### 9、第三方支付版本
124 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: 124 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置:
125 125
126 需要在 application:didFinishLaunchingWithOptions方法中添加: 126 需要在 application:didFinishLaunchingWithOptions方法中添加:
127 127
128 [[LetsGameAPI instance] decideWebToVersion:1] 128 [[LetsGameAPI instance] decideWebToVersion:1]
129 129
130 130
131 ### 10、关于侵权还是侵权的接口显示 131 ### 10、关于侵权还是侵权的接口显示
132 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 132 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。
133 133
134 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 134 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。
135 135
136 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { 136 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) {
137 if (resultStatus) { 137 if (resultStatus) {
138 NSLog(@"YES 侵权"); 138 NSLog(@"YES 侵权");
139 }else{ 139 }else{
140 NSLog(@"NO 不侵权"); 140 NSLog(@"NO 不侵权");
141 } 141 }
142 }]; 142 }];
143 ### 11、横竖屏设置 143 ### 11、横竖屏设置
144 144
145 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 145 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。
146 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: 146 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法:
147 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: 147 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置:
148 148
149 [LetsGameAPI DeviceOrientationIsHorizontal:NO]; 149 [LetsGameAPI DeviceOrientationIsHorizontal:NO];
150 150
151 151
152 152
153 153
154 ### 12、CocoaPods集成 154 ### 12、CocoaPods集成
155 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。 155 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。
156 ``` 156 ```
157 pod 'GameSDK', '~> 3.5.5' 157 pod 'GameSDK', '~> 3.5.5'
158 ``` 158 ```
159 159
160 ### 13、活动添加 160 ### 13、活动添加
161 添加项目GameActivitySDK.framework 161 添加项目GameActivitySDK.framework
162 设置:设置xxxx.plist 162 设置:设置xxxx.plist
163 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES 163 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES
164 164
165 工程中添加SDK登录代码: 165 工程中添加SDK登录代码:
166 166
167 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; 167 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary];
168 [activityInfo setValue:@"100" forKey:@"appId"]; 168 [activityInfo setValue:@"100" forKey:@"appId"];
169 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; 169 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"];
170 [activityInfo setValue:@"123456" forKey:@"userId"]; 170 [activityInfo setValue:@"123456" forKey:@"userId"];
171 [activityInfo setValue:@"111" forKey:@"serverId"]; 171 [activityInfo setValue:@"111" forKey:@"serverId"];
172 [activityInfo setValue:@"aaa" forKey:@"serverName"]; 172 [activityInfo setValue:@"aaa" forKey:@"serverName"];
173 [activityInfo setValue:@"222" forKey:@"roleId"]; 173 [activityInfo setValue:@"222" forKey:@"roleId"];
174 [activityInfo setValue:@"ccc" forKey:@"roleName"]; 174 [activityInfo setValue:@"ccc" forKey:@"roleName"];
175 [activityInfo setValue:@"888" forKey:@"diamond"]; 175 [activityInfo setValue:@"888" forKey:@"diamond"];
176 //活动关闭的回调 176 //活动关闭的回调
177 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ 177 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{
178 NSLog(@"activity finish!"); 178 NSLog(@"activity finish!");
179 }]; 179 }];
180 180
1 # Gump IOS SDK使用文档 1 # Gump IOS SDK使用文档
2 2
3 3
4 接入手册 4 接入手册
5 V 3.6.3 5 V 3.6.4
6 2018年10月19日 6 2018年10月22日
7 7
8 ## 概述 8 ## 概述
9 #### 本SDK提供gump账号,fb账号,Google帐号,line 登录三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 9 #### 本SDK提供gump账号,fb账号,Google帐号,line 登录, 游客登录四种账号登录,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 15
16 ### 2、引入头文件,设置build setting 16 ### 2、引入头文件,设置build setting
17 因sdk内使用了category,需要设置other linker flag为 -ObjC 17 因sdk内使用了category,需要设置other linker flag为 -ObjC
18 18
19 19
20 ### 3、增加必要配置 20 ### 3、增加必要配置
21 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: 21 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回:
22 22
23 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 23 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
24 24
25 25
26 ### 4、在工程里添加SDK登录代码 26 ### 4、在工程里添加SDK登录代码
27 27
28 [LetsGameAPI instance].appId = @"100"; // 设置appId 28 [LetsGameAPI instance].appId = @"100"; // 设置appId
29 [LetsGameAPI instance].appKey = @"100"; // 设置appKey 29 [LetsGameAPI instance].appKey = @"100"; // 设置appKey
30 [LetsGameAPI instance].channelId = @"100"; //设置channelId 30 [LetsGameAPI instance].channelId = @"100"; //设置channelId
31 31
32 //sdk login 初始化 32 //sdk login 初始化
33 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { 33 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) {
34 if (result) { 34 if (result) {
35 NSLog(@"初始化成功"); 35 NSLog(@"初始化成功");
36 //隐藏fb登录 36 //隐藏fb登录
37 [LetsGameAPI disableFB:YES]; 37 [LetsGameAPI disableFB:YES];
38 //隐藏Google登录 38 //隐藏Google登录
39 [LetsGameAPI disableGoogle:YES]; 39 [LetsGameAPI disableGoogle:YES];
40 //隐藏gumptech的logo 40 //隐藏gumptech的logo
41 [LetsGameAPI hiddenLogo:YES]; 41 [LetsGameAPI hiddenLogo:YES];
42 //隐藏line登录 42 //隐藏line登录
43 [LetsGameAPI disableLine:YES]; 43 [LetsGameAPI disableLine:YES];
44 44
45 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 45 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
46 46
47 // 登录成功回调 47 // 登录成功回调
48 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { 48 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
49 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); 49 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
50 }; 50 };
51 51
52 // 登录失败回调,需要游戏自己处理 52 // 登录失败回调,需要游戏自己处理
53 [LetsGameAPI instance].dismissBlock = ^() { 53 [LetsGameAPI instance].dismissBlock = ^() {
54 NSLog(@"dismiss without login"); 54 NSLog(@"dismiss without login");
55 }; 55 };
56 }else{ 56 }else{
57 NSLog(@"初始化失败"); 57 NSLog(@"初始化失败");
58 }]; 58 }];
59 59
60 60
61 61
62 62
63 ### 5、登录注销 63 ### 5、登录注销
64 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 64 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。
65 65
66 [LetsGameAPI instance].appId = @"100";//设置appId 66 [LetsGameAPI instance].appId = @"100";//设置appId
67 [LetsGameAPI instance].appKey = @"100";//设置appkey 67 [LetsGameAPI instance].appKey = @"100";//设置appkey
68 [[LetsGameAPI instance] logout]; //注销 68 [[LetsGameAPI instance] logout]; //注销
69 69
70 70
71 ### 6、第三方支付 71 ### 6、第三方支付
72 [LetsGameAPI instance].appId = @"10022"; 72 [LetsGameAPI instance].appId = @"10022";
73 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; 73 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
74 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 74 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
75 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 75 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
76 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id 76 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id
77 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id 77 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
78 [payInfo setValue:@"10" forKey:@"amount"];//金额 78 [payInfo setValue:@"10" forKey:@"amount"];//金额
79 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 79 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
80 [payInfo setValue:@"元宝" forKey:@"product"];//物品ID 80 [payInfo setValue:@"元宝" forKey:@"product"];//物品ID
81 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey 81 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey
82 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ 82 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
83 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 83 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调
84 NSLog(@"第三方支付完成"); 84 NSLog(@"第三方支付完成");
85 }]]; 85 }]];
86 86
87 ### 7、IAP支付 87 ### 7、IAP支付
88 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 88 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
89 89
90 [[LetsGameAPI instance] registeIapObserver]; 90 [[LetsGameAPI instance] registeIapObserver];
91 具体调用iap支付的方法如下: 91 具体调用iap支付的方法如下:
92 92
93 [LetsGameAPI instance].appId = @"10022"; 93 [LetsGameAPI instance].appId = @"10022";
94 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; 94 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
95 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 95 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
96 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id 96 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
97 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id 97 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
98 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 98 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
99 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 99 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
100 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 100 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
101 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId 101 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
102 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { 102 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) {
103 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 103 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
104 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 104 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
105 NSLog(@"IAP completed orderId of Gumptech:%@",orderId); 105 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
106 } failCallback:^(NSString *orderId) { 106 } failCallback:^(NSString *orderId) {
107 //支付失败 107 //支付失败
108 NSLog(@"IAP file orderId of Gumptech:%@",orderId); 108 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
109 }]; 109 }];
110 ### 8、token的获取 110 ### 8、token的获取
111 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 111 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。
112 112
113 //tokenString:token字符串 113 //tokenString:token字符串
114 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 114 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间
115 //expirationTime:expirationTime token最后的有效时间 115 //expirationTime:expirationTime token最后的有效时间
116 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { 116 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) {
117 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); 117 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime);
118 } failure:^(NSString *errorString) { 118 } failure:^(NSString *errorString) {
119 NSLog(@"get token faile"); 119 NSLog(@"get token faile");
120 }]; 120 }];
121 121
122 122
123 ### 9、第三方支付版本 123 ### 9、第三方支付版本
124 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: 124 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置:
125 125
126 需要在 application:didFinishLaunchingWithOptions方法中添加: 126 需要在 application:didFinishLaunchingWithOptions方法中添加:
127 127
128 [[LetsGameAPI instance] decideWebToVersion:1] 128 [[LetsGameAPI instance] decideWebToVersion:1]
129 129
130 130
131 ### 10、关于侵权还是侵权的接口显示 131 ### 10、关于侵权还是侵权的接口显示
132 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 132 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。
133 133
134 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 134 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。
135 135
136 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { 136 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) {
137 if (resultStatus) { 137 if (resultStatus) {
138 NSLog(@"YES 侵权"); 138 NSLog(@"YES 侵权");
139 }else{ 139 }else{
140 NSLog(@"NO 不侵权"); 140 NSLog(@"NO 不侵权");
141 } 141 }
142 }]; 142 }];
143 ### 11、横竖屏设置 143 ### 11、横竖屏设置
144 144
145 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 145 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。
146 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: 146 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法:
147 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: 147 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置:
148 148
149 [LetsGameAPI DeviceOrientationIsHorizontal:NO]; 149 [LetsGameAPI DeviceOrientationIsHorizontal:NO];
150 150
151 151
152 152
153 153
154 ### 12、CocoaPods集成 154 ### 12、CocoaPods集成
155 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。 155 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。
156 ``` 156 ```
157 pod 'GameSDK', '~> 3.5.5' 157 pod 'GameSDK', '~> 3.5.5'
158 ``` 158 ```
159 159
160 ### 13、活动添加 160 ### 13、活动添加
161 添加项目GameActivitySDK.framework 161 添加项目GameActivitySDK.framework
162 设置:设置xxxx.plist 162 设置:设置xxxx.plist
163 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES 163 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES
164 164
165 工程中添加SDK登录代码: 165 工程中添加SDK登录代码:
166 166
167 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; 167 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary];
168 [activityInfo setValue:@"100" forKey:@"appId"]; 168 [activityInfo setValue:@"100" forKey:@"appId"];
169 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; 169 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"];
170 [activityInfo setValue:@"123456" forKey:@"userId"]; 170 [activityInfo setValue:@"123456" forKey:@"userId"];
171 [activityInfo setValue:@"111" forKey:@"serverId"]; 171 [activityInfo setValue:@"111" forKey:@"serverId"];
172 [activityInfo setValue:@"aaa" forKey:@"serverName"]; 172 [activityInfo setValue:@"aaa" forKey:@"serverName"];
173 [activityInfo setValue:@"222" forKey:@"roleId"]; 173 [activityInfo setValue:@"222" forKey:@"roleId"];
174 [activityInfo setValue:@"ccc" forKey:@"roleName"]; 174 [activityInfo setValue:@"ccc" forKey:@"roleName"];
175 [activityInfo setValue:@"888" forKey:@"diamond"]; 175 [activityInfo setValue:@"888" forKey:@"diamond"];
176 //活动关闭的回调 176 //活动关闭的回调
177 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ 177 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{
178 NSLog(@"activity finish!"); 178 NSLog(@"activity finish!");
179 }]; 179 }];
180 180
ios/GameSDK.framework/Versions/A/GameSDK
No preview for this file type
ios/GameSDK.framework/Versions/A/Headers/LetsGameAPI.h
1 1
2 #import <Foundation/Foundation.h> 2 #import <Foundation/Foundation.h>
3 #import "LSGAccount.h" 3 #import "LSGAccount.h"
4 4
5 5
6 typedef void (^LSGLoginSuccBlock)(NSString *userId, NSString *sessionKey, LSGAccountType type); 6 typedef void (^LSGLoginSuccBlock)(NSString *userId, NSString *sessionKey, LSGAccountType type);
7 typedef void (^LSGDismissBlock)(void); 7 typedef void (^LSGDismissBlock)(void);
8 8
9 static BOOL isDisableFB = NO; 9 static BOOL isDisableFB = NO;
10 10
11 static BOOL isDisableLine = NO; 11 static BOOL isDisableLine = NO;
12 12
13 static BOOL isDisableGoogle = NO; 13 static BOOL isDisableGoogle = NO;
14 14
15 static BOOL hiddenLogo = NO; 15 static BOOL hiddenLogo = NO;
16 16
17 //默认横屏 17 //默认横屏
18 static BOOL DeviceOrientationIsHorizontal = YES; 18 static BOOL DeviceOrientationIsHorizontal = YES;
19 19
20 static NSString *version = @"3.6.3"; 20 static NSString *version = @"3.6.4";
21 21
22 @interface LetsGameAPI : NSObject<UIApplicationDelegate> 22 @interface LetsGameAPI : NSObject<UIApplicationDelegate>
23 23
24 @property (nonatomic, strong) NSString *appId; 24 @property (nonatomic, strong) NSString *appId;
25 @property (nonatomic, strong) NSString *appKey; 25 @property (nonatomic, strong) NSString *appKey;
26 @property(nonatomic, strong) NSString *channelId; 26 @property(nonatomic, strong) NSString *channelId;
27 @property (nonatomic, copy) LSGLoginSuccBlock succBlock; 27 @property (nonatomic, copy) LSGLoginSuccBlock succBlock;
28 @property (nonatomic, copy) LSGDismissBlock dismissBlock; 28 @property (nonatomic, copy) LSGDismissBlock dismissBlock;
29 @property (nonatomic, assign) int isDebug; 29 @property (nonatomic, assign) int isDebug;
30 @property (nonatomic, assign) int decideWebTo; 30 @property (nonatomic, assign) int decideWebTo;
31 //@property(nonatomic,strong) NSString *version; 31 //@property(nonatomic,strong) NSString *version;
32 32
33 + (instancetype)instance; 33 + (instancetype)instance;
34 34
35 -(NSString*)version; 35 -(NSString*)version;
36 - (void)SDKLoginInitofResponse:(void (^)(BOOL result))response; 36 - (void)SDKLoginInitofResponse:(void (^)(BOOL result))response;
37 - (void)showLoginView; 37 - (void)showLoginView;
38 - (void)showLoginViewInView:(UIView *)view; 38 - (void)showLoginViewInView:(UIView *)view;
39 39
40 +(void)disableFB:(BOOL)isDisable; 40 +(void)disableFB:(BOOL)isDisable;
41 +(void)disableGoogle:(BOOL)isDisable; 41 +(void)disableGoogle:(BOOL)isDisable;
42 +(void)disableLine:(BOOL)isDissable; 42 +(void)disableLine:(BOOL)isDissable;
43 +(BOOL)isFBDisable; 43 +(BOOL)isFBDisable;
44 +(BOOL)isGoogleDisable; 44 +(BOOL)isGoogleDisable;
45 +(BOOL)isLineDisable; 45 +(BOOL)isLineDisable;
46 +(void)hiddenLogo:(BOOL)isHidden; 46 +(void)hiddenLogo:(BOOL)isHidden;
47 +(BOOL)isHiddenLogo; 47 +(BOOL)isHiddenLogo;
48 +(void)DeviceOrientationIsHorizontal:(BOOL)isDisable; 48 +(void)DeviceOrientationIsHorizontal:(BOOL)isDisable;
49 +(BOOL)DeviceOrientationIsHorizontal; 49 +(BOOL)DeviceOrientationIsHorizontal;
50 50
51 - (void)logout; 51 - (void)logout;
52 52
53 - (void)hide; 53 - (void)hide;
54 54
55 - (BOOL)handleOpenURL:(NSURL *)url 55 - (BOOL)handleOpenURL:(NSURL *)url
56 sourceApplication:(NSString *)sourceApplication; 56 sourceApplication:(NSString *)sourceApplication;
57 57
58 -(void)pWeb:(NSDictionary*) pWebInfo handleCallBack:(void (^)()) pWebAccomplistCallback; 58 -(void)pWeb:(NSDictionary*) pWebInfo handleCallBack:(void (^)()) pWebAccomplistCallback;
59 59
60 -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid succCallback:(void (^)(NSString* orderId)) succCallback failCallback:(void (^)(NSString* orderId)) failCallback; 60 -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid succCallback:(void (^)(NSString* orderId)) succCallback failCallback:(void (^)(NSString* orderId)) failCallback;
61 61
62 -(void)registeIapObserver; 62 -(void)registeIapObserver;
63 63
64 -(void)decideIsDebug:(int)isDebug; 64 -(void)decideIsDebug:(int)isDebug;
65 65
66 -(void)decideWebToVersion:(int)decideWebTo; 66 -(void)decideWebToVersion:(int)decideWebTo;
67 67
68 -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success 68 -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success
69 failure:(void (^)(NSString *errorString))failure; 69 failure:(void (^)(NSString *errorString))failure;
70 70
71 //获取是否展示安全页面,YES展示侵权页面,NO展示非侵权页面 71 //获取是否展示安全页面,YES展示侵权页面,NO展示非侵权页面
72 -(void)gameObtainSafeSetInfoWithAppId:(NSString *)appId 72 -(void)gameObtainSafeSetInfoWithAppId:(NSString *)appId
73 ChannelId:(NSString *)channelId 73 ChannelId:(NSString *)channelId
74 handleCallBack:(void (^)(BOOL resultStatus))callBack; 74 handleCallBack:(void (^)(BOOL resultStatus))callBack;
75 //关闭登录页面 75 //关闭登录页面
76 -(void)hidenLogInView; 76 -(void)hidenLogInView;
77 @end 77 @end
78 78
No preview for this file type
ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ios/GameSDKDemo/GameSDKDemo.xcodeproj/xcuserdata/yanglele.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <Bucket 2 <Bucket
3 type = "1" 3 type = "1"
4 version = "2.0"> 4 version = "2.0">
5 <Breakpoints>
6 <BreakpointProxy
7 BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
8 <BreakpointContent
9 shouldBeEnabled = "No"
10 ignoreCount = "0"
11 continueAfterRunningActions = "No"
12 filePath = "../../../iosgamesdk/GameSDK/letsgame/LetsGameAPI.m"
13 timestampString = "561631643.406551"
14 startingColumnNumber = "9223372036854775807"
15 endingColumnNumber = "9223372036854775807"
16 startingLineNumber = "91"
17 endingLineNumber = "91"
18 landmarkName = "-showLoginViewInView:"
19 landmarkType = "7">
20 </BreakpointContent>
21 </BreakpointProxy>
22 </Breakpoints>
23 </Bucket> 5 </Bucket>
24 6
ios/GameSDKDemo/letsgameDemo/LSGAppDelegate.m
1 // 1 //
2 // LSGAppDelegate.m 2 // LSGAppDelegate.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 "LSGAppDelegate.h" 9 #import "LSGAppDelegate.h"
10 #import "LSGMainViewController.h" 10 #import "LSGMainViewController.h"
11 #import "LetsGameAPI.h" 11 #import "LetsGameAPI.h"
12 #import "LetsGameActivityAPI.h" 12 #import "LetsGameActivityAPI.h"
13 13
14 @implementation LSGAppDelegate 14 @implementation LSGAppDelegate
15 15
16 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 16 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
17 { 17 {
18 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 18 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
19 // [LetsGameAPI DeviceOrientationIsHorizontal:NO]; 19 // [LetsGameAPI DeviceOrientationIsHorizontal:NO];
20 20
21 LSGMainViewController *viewController = [[LSGMainViewController alloc] init]; 21 LSGMainViewController *viewController = [[LSGMainViewController alloc] init];
22 self.window.rootViewController = viewController; 22 self.window.rootViewController = viewController;
23 [self.window addSubview:viewController.view]; 23 [self.window addSubview:viewController.view];
24 24
25 self.window.backgroundColor = [UIColor whiteColor]; 25 self.window.backgroundColor = [UIColor whiteColor];
26 [self.window makeKeyAndVisible]; 26 [self.window makeKeyAndVisible];
27 27
28 // [[LetsGameAPI instance] decideIsDebug:1]; 28 // [[LetsGameAPI instance] decideIsDebug:1];
29 [[LetsGameAPI instance] decideWebToVersion:1]; 29 // [[LetsGameAPI instance] decideWebToVersion:1];
30 30
31 //显示是否侵权的接口 31 //显示是否侵权的接口
32 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { 32 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) {
33 if (resultStatus) { 33 if (resultStatus) {
34 NSLog(@"YES 侵权"); 34 NSLog(@"YES 侵权");
35 }else{ 35 }else{
36 NSLog(@"NO 不侵权"); 36 NSLog(@"NO 不侵权");
37 } 37 }
38 }]; 38 }];
39 39
40 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 40 [[UIApplication sharedApplication] setStatusBarHidden:YES];
41 [[LetsGameAPI instance] registeIapObserver]; 41 [[LetsGameAPI instance] registeIapObserver];
42 42
43 return YES; 43 return YES;
44 } 44 }
45 45
46 - (void)applicationWillResignActive:(UIApplication *)application 46 - (void)applicationWillResignActive:(UIApplication *)application
47 { 47 {
48 // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 48 // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
49 // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 49 // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
50 } 50 }
51 51
52 - (void)applicationDidEnterBackground:(UIApplication *)application 52 - (void)applicationDidEnterBackground:(UIApplication *)application
53 { 53 {
54 // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 54 // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
55 // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 55 // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
56 } 56 }
57 57
58 - (void)applicationWillEnterForeground:(UIApplication *)application 58 - (void)applicationWillEnterForeground:(UIApplication *)application
59 { 59 {
60 // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 60 // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
61 } 61 }
62 62
63 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ 63 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
64 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 64 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
65 65
66 } 66 }
67 67
68 //-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ 68 //-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
69 // if([LetsGameActivityAPI instance].supportLandscape == YES){ 69 // if([LetsGameActivityAPI instance].supportLandscape == YES){
70 // return UIInterfaceOrientationMaskPortrait; 70 // return UIInterfaceOrientationMaskPortrait;
71 // }else{ 71 // }else{
72 // return UIInterfaceOrientationMaskLandscape; 72 // return UIInterfaceOrientationMaskLandscape;
73 // } 73 // }
74 //} 74 //}
75 75
76 @end 76 @end
77 77
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 "LetsGameActivityAPI.h" 11 #import "LetsGameActivityAPI.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,copy) NSString *sessionKey; 18 @property(nonatomic,copy) NSString *sessionKey;
19 @end 19 @end
20 20
21 @implementation LSGMainViewController 21 @implementation LSGMainViewController
22 22
23 - (void)loadView { 23 - (void)loadView {
24 [super loadView]; 24 [super loadView];
25 NSLog(@"i come in"); 25 NSLog(@"i come in");
26 // self.view.backgroundColor = [UIColor whiteColor]; 26 // self.view.backgroundColor = [UIColor whiteColor];
27 self.view.backgroundColor = [UIColor blackColor]; 27 self.view.backgroundColor = [UIColor blackColor];
28 28
29 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)]; 29 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)];
30 btn.backgroundColor = [UIColor orangeColor]; 30 btn.backgroundColor = [UIColor orangeColor];
31 [btn setTitle:@"测试入口" forState:UIControlStateNormal]; 31 [btn setTitle:@"测试入口" forState:UIControlStateNormal];
32 [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 32 [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
33 btn.titleLabel.font = [UIFont systemFontOfSize:15]; 33 btn.titleLabel.font = [UIFont systemFontOfSize:15];
34 [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside]; 34 [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside];
35 [self.view addSubview:btn]; 35 [self.view addSubview:btn];
36 36
37 37
38 38
39 UIButton *bindtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)]; 39 UIButton *bindtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)];
40 bindtn.backgroundColor = [UIColor orangeColor]; 40 bindtn.backgroundColor = [UIColor orangeColor];
41 [bindtn setTitle:@"退出账号" forState:UIControlStateNormal]; 41 [bindtn setTitle:@"退出账号" forState:UIControlStateNormal];
42 [bindtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 42 [bindtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
43 bindtn.titleLabel.font = [UIFont systemFontOfSize:15]; 43 bindtn.titleLabel.font = [UIFont systemFontOfSize:15];
44 [bindtn addTarget:self action:@selector(onLogoutTest) forControlEvents:UIControlEventTouchUpInside]; 44 [bindtn addTarget:self action:@selector(onLogoutTest) forControlEvents:UIControlEventTouchUpInside];
45 [self.view addSubview:bindtn]; 45 [self.view addSubview:bindtn];
46 46
47 UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)]; 47 UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)];
48 payBtn.backgroundColor = [UIColor orangeColor]; 48 payBtn.backgroundColor = [UIColor orangeColor];
49 [payBtn setTitle:@"支付" forState:UIControlStateNormal]; 49 [payBtn setTitle:@"支付" forState:UIControlStateNormal];
50 [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 50 [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
51 payBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 51 payBtn.titleLabel.font = [UIFont systemFontOfSize:15];
52 [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside]; 52 [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside];
53 [self.view addSubview:payBtn]; 53 [self.view addSubview:payBtn];
54 54
55 UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)]; 55 UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)];
56 iapBtn.backgroundColor = [UIColor orangeColor]; 56 iapBtn.backgroundColor = [UIColor orangeColor];
57 [iapBtn setTitle:@"IAP" forState:UIControlStateNormal]; 57 [iapBtn setTitle:@"IAP" forState:UIControlStateNormal];
58 [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 58 [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
59 iapBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 59 iapBtn.titleLabel.font = [UIFont systemFontOfSize:15];
60 [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside]; 60 [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside];
61 [self.view addSubview:iapBtn]; 61 [self.view addSubview:iapBtn];
62 62
63 UIButton *activityBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 320, 100, 30)]; 63 UIButton *activityBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 320, 100, 30)];
64 activityBtn.backgroundColor = [UIColor orangeColor]; 64 activityBtn.backgroundColor = [UIColor orangeColor];
65 [activityBtn setTitle:@"Activity" forState:UIControlStateNormal]; 65 [activityBtn setTitle:@"Activity" forState:UIControlStateNormal];
66 [activityBtn setTintColor:[UIColor whiteColor]]; 66 [activityBtn setTintColor:[UIColor whiteColor]];
67 activityBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 67 activityBtn.titleLabel.font = [UIFont systemFontOfSize:15];
68 [activityBtn addTarget:self action:@selector(onActivity) forControlEvents:UIControlEventTouchUpInside]; 68 [activityBtn addTarget:self action:@selector(onActivity) forControlEvents:UIControlEventTouchUpInside];
69 [self.view addSubview:activityBtn]; 69 [self.view addSubview:activityBtn];
70 70
71 } 71 }
72 72
73 - (UILabel *)resultLabel { 73 - (UILabel *)resultLabel {
74 if (!_resultLabel) { 74 if (!_resultLabel) {
75 _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)]; 75 _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)];
76 _resultLabel.backgroundColor = [UIColor clearColor]; 76 _resultLabel.backgroundColor = [UIColor clearColor];
77 _resultLabel.textAlignment = NSTextAlignmentCenter; 77 _resultLabel.textAlignment = NSTextAlignmentCenter;
78 _resultLabel.textColor = [UIColor redColor]; 78 _resultLabel.textColor = [UIColor redColor];
79 _resultLabel.font = [UIFont systemFontOfSize:15]; 79 _resultLabel.font = [UIFont systemFontOfSize:15];
80 _resultLabel.numberOfLines = 4; 80 _resultLabel.numberOfLines = 4;
81 _resultLabel.lineBreakMode = NSLineBreakByWordWrapping; 81 _resultLabel.lineBreakMode = NSLineBreakByWordWrapping;
82 [self.view addSubview:_resultLabel]; 82 [self.view addSubview:_resultLabel];
83 } 83 }
84 84
85 return _resultLabel; 85 return _resultLabel;
86 } 86 }
87 87
88 88
89 - (void)onClickTest { 89 - (void)onClickTest {
90 90
91 [LetsGameAPI instance].appId = @"100"; 91 [LetsGameAPI instance].appId = @"100";
92 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; 92 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
93 [LetsGameAPI instance].channelId = @"1000"; 93 [LetsGameAPI instance].channelId = @"1000";
94 [LetsGameAPI hiddenLogo:YES]; 94 [LetsGameAPI hiddenLogo:YES];
95 NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]); 95 NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]);
96 //sdk login 初始化 96 //sdk login 初始化
97 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { 97 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) {
98 if (result) { 98 if (result) {
99 NSLog(@"初始化成功"); 99 NSLog(@"初始化成功");
100 // [LetsGameAPI disableFB:YES]; 100 // [LetsGameAPI disableFB:YES];
101 // [LetsGameAPI disableGoogle:YES]; 101 // [LetsGameAPI disableGoogle:YES];
102 // [LetsGameAPI disableLine:YES]; 102 // [LetsGameAPI disableLine:YES];
103 103
104 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { 104 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
105 self.sessionKey = sessionKey; 105 self.sessionKey = sessionKey;
106 self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type]; 106 self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type];
107 }; 107 };
108 [LetsGameAPI instance].dismissBlock = ^() { 108 [LetsGameAPI instance].dismissBlock = ^() {
109 //登录失败操作 109 //登录失败操作
110 self.resultLabel.text = @"dismiss without login"; 110 self.resultLabel.text = @"dismiss without login";
111 }; 111 };
112 112
113 [[LetsGameAPI instance] showLoginView]; 113 [[LetsGameAPI instance] showLoginView];
114 }else{ 114 }else{
115 NSLog(@"初始化失败"); 115 NSLog(@"初始化失败");
116 self.resultLabel.text = @"初始化失败"; 116 self.resultLabel.text = @"初始化失败";
117 } 117 }
118 }]; 118 }];
119 119
120 } 120 }
121 121
122 122
123 - (void)onLogoutTest { 123 - (void)onLogoutTest {
124 [LetsGameAPI instance].appId = @"10056"; 124 [LetsGameAPI instance].appId = @"10056";
125 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; 125 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";
126 [[LetsGameAPI instance] logout]; 126 [[LetsGameAPI instance] logout];
127 127
128 } 128 }
129 129
130 -(void)onPayTest{ 130 -(void)onPayTest{
131 [LetsGameAPI instance].appId = @"10103";//@"10056";//10022 131 [LetsGameAPI instance].appId = @"10103";//@"10056";//10022
132 [LetsGameAPI instance].appKey = @"f53eb4122d5e2ce81a12093f8f9ce922";//@"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab 132 [LetsGameAPI instance].appKey = @"f53eb4122d5e2ce81a12093f8f9ce922";//@"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab
133 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 133 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
134 [payInfo setValue:@"s1" forKey:@"serverId"]; 134 [payInfo setValue:@"s1" forKey:@"serverId"];
135 [payInfo setValue:@"556553" forKey:@"roleId"]; 135 [payInfo setValue:@"556553" forKey:@"roleId"];
136 [payInfo setValue:@"1002" forKey:@"channelId"]; 136 [payInfo setValue:@"1002" forKey:@"channelId"];
137 [payInfo setValue:@"10" forKey:@"amount"]; 137 [payInfo setValue:@"10" forKey:@"amount"];
138 [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; 138 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
139 [payInfo setValue:@"wa2" forKey:@"product"]; 139 [payInfo setValue:@"wa2" forKey:@"product"];
140 [payInfo setValue:@"78b83666bd77c1e4c95442140672254d" forKey:@"sessionKey"]; //self.sessionKey 140 [payInfo setValue:@"78b83666bd77c1e4c95442140672254d" forKey:@"sessionKey"]; //self.sessionKey
141 // [[LetsGameAPI instance] pay:payInfo handleCallBack:^{ 141 // [[LetsGameAPI instance] pay:payInfo handleCallBack:^{
142 // NSLog(@"第三方支付完成"); 142 // NSLog(@"第三方支付完成");
143 // }]; 143 // }];
144 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ 144 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
145 NSLog(@"第三方支付完成"); 145 NSLog(@"第三方支付完成");
146 }]; 146 }];
147 } 147 }
148 148
149 -(void)onIapTest{ 149 -(void)onIapTest{
150 150
151 [LetsGameAPI instance].appId = @"10056"; 151 [LetsGameAPI instance].appId = @"10056";
152 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; 152 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";
153 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 153 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
154 [payInfo setValue:@"5001" forKey:@"serverId"]; 154 [payInfo setValue:@"5001" forKey:@"serverId"];
155 [payInfo setValue:@"10010" forKey:@"roleId"]; 155 [payInfo setValue:@"10010" forKey:@"roleId"];
156 [payInfo setValue:@"1000" forKey:@"channelId"]; 156 [payInfo setValue:@"1000" forKey:@"channelId"];
157 [payInfo setValue:@"10" forKey:@"amount"]; 157 [payInfo setValue:@"10" forKey:@"amount"];
158 [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; 158 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
159 [payInfo setValue:@"test.product.1" forKey:@"product"]; 159 [payInfo setValue:@"test.product.1" forKey:@"product"];
160 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { 160 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) {
161 //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准 161 //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准
162 NSLog(@"IAP completed orderId of Gumptech:%@",orderId); 162 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
163 } failCallback:^(NSString *orderId) { 163 } failCallback:^(NSString *orderId) {
164 NSLog(@"IAP file orderId of Gumptech:%@",orderId); 164 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
165 }]; 165 }];
166 } 166 }
167 167
168 -(void)onActivity{ 168 -(void)onActivity{
169 169
170 [[LetsGameActivityAPI instance] decideIsDebug:1]; 170 [[LetsGameActivityAPI instance] decideIsDebug:1];
171 // [LetsGameActivityAPI instance].supportLandscape = YES; 171 // [LetsGameActivityAPI instance].supportLandscape = YES;
172 // [[LetsGameActivityAPI instance] decideAllowRotate:1]; 172 // [[LetsGameActivityAPI instance] decideAllowRotate:1];
173 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; 173 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary];
174 [activityInfo setValue:@"100" forKey:@"appId"]; 174 [activityInfo setValue:@"100" forKey:@"appId"];
175 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; 175 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"];
176 [activityInfo setValue:@"123456" forKey:@"userId"]; 176 [activityInfo setValue:@"123456" forKey:@"userId"];
177 [activityInfo setValue:@"111" forKey:@"serverId"]; 177 [activityInfo setValue:@"111" forKey:@"serverId"];
178 [activityInfo setValue:@"aaa" forKey:@"serverName"]; 178 [activityInfo setValue:@"aaa" forKey:@"serverName"];
179 [activityInfo setValue:@"222" forKey:@"roleId"]; 179 [activityInfo setValue:@"222" forKey:@"roleId"];
180 [activityInfo setValue:@"ccc" forKey:@"roleName"]; 180 [activityInfo setValue:@"ccc" forKey:@"roleName"];
181 [activityInfo setValue:@"888" forKey:@"diamond"]; 181 [activityInfo setValue:@"888" forKey:@"diamond"];
182 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ 182 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{
183 NSLog(@"activity finish!"); 183 NSLog(@"activity finish!");
184 }]; 184 }];
185 } 185 }
186 186
187 187
188 188
189 @end 189 @end
190 190
ios/GameSDKResources.bundle/images/guest@2x.png

2.93 KB

ios/GameSDKResources.bundle/ko.strings
1 "user_name_hint" = "계정"; 1 "user_name_hint" = "아이디";
2 "password_hint" = "비밀번호 확인"; 2 "password_hint" = "비밀번호";
3 "quick_login" = "원클릭 입장"; 3 "quick_login" = "원클릭 입장";
4 "quick_play" = "guest 로그인"; 4 "quick_play" = "guest 로그인";
5 "gump_login" = "로그인"; 5 "gump_login" = "로그인";
6 "login" = "아이디 비밀번호 로그인"; 6 "login" = "아이디 비밀번호 로그인";
7 "loginFacebook" = "로그인 Facebook"; 7 "loginFacebook" = "로그인 Facebook";
8 "signup" = "회원가입"; 8 "signup" = "회원가입";
9 "bind" = "메일 등록"; 9 "bind" = "메일 등록";
10 "loading" = "로딩중……"; 10 "loading" = "로딩중……";
11 "illegal_uname_tip" = "이메일이 존재하지 않습니다"; 11 "illegal_uname_tip" = "이메일이 존재하지 않습니다";
12 "illegal_pwd_tip" = "올바른 비밀번호 형식이 아닙니다 (6~20자리)"; 12 "illegal_pwd_tip" = "올바른 비밀번호 형식이 아닙니다 (6~20자리)";
13 "illegal_user_exist" = "사용 중인 이메일입니다"; 13 "illegal_user_exist" = "사용 중인 이메일입니다";
14 "illegal_pwd_invalid" = "비밀번호 오류"; 14 "illegal_pwd_invalid" = "비밀번호 오류";
15 "illegal_user_not_exist" = "올바른 이메일 주소가 아닙니다"; 15 "illegal_user_not_exist" = "올바른 이메일 주소가 아닙니다";
16 "invalid_email" = "정확한 이메일을 입력하세요"; 16 "invalid_email" = "정확한 이메일을 입력하세요";
17 "login_fail" = "로그인 실패"; 17 "login_fail" = "로그인 실패";
18 "signup_fail" = "회원가입 실패"; 18 "signup_fail" = "회원가입 실패";
19 "bind_fail" = "메일 등록이 실패되었습니다"; 19 "bind_fail" = "메일 등록이 실패되었습니다";
20 "GumptechLogin" = "Gump 로그인"; 20 "GumptechLogin" = "Gump 로그인";
21 "switch" = "계정 전환"; 21 "switch" = "계정 전환";
22 "reset_password" = "비밀번호 찾기"; 22 "reset_password" = "비밀번호 찾기";
23 "current_password" = "현재 비밀번호"; 23 "current_password" = "현재 비밀번호";
24 "change_password_notice" = "비밀번호 재설정 시 현재 비밀번호를 입력하지 않아도 됩니다"; 24 "change_password_notice" = "비밀번호 재설정 시 현재 비밀번호를 입력하지 않아도 됩니다";
25 "new_password" = "새 비밀번호"; 25 "new_password" = "새 비밀번호";
26 "Reset" = "비밀번호 찾기? 여기를 클릭하여 재설정"; 26 "Reset" = "비밀번호 찾기? 여기를 클릭하여 재설정";
27 "Confirm" = "확인"; 27 "Confirm" = "확인";
28 "Succeed" = "성공적으로 변경되었습니다"; 28 "Succeed" = "성공적으로 변경되었습니다";
29 "reset_fail" = "변경이 실패 되었습니다. 고객센터로 연락하세요."; 29 "reset_fail" = "변경이 실패 되었습니다. 고객센터로 연락하세요.";
30 "reset_success" = "인증메일이 발송되었습니다. 메일 안내절차에 따라 비밀번호를 재설정 해주세요."; 30 "reset_success" = "인증메일이 발송되었습니다. 메일 안내절차에 따라 비밀번호를 재설정 해주세요.";
31 "other_login_style" = "기타 로그인"; 31 "other_login_style" = "기타 로그인";
32 "account_pwd_invalid" = "아이디와 비밀번호를 입력하세요"; 32 "account_pwd_invalid" = "아이디와 비밀번호를 입력하세요";
33 "new_old_password_diff" = "비밀번호가 일치하지 않습니다"; 33 "new_old_password_diff" = "비밀번호가 일치하지 않습니다";
34 "Confirm_password" = "비밀번호 확인"; 34 "Confirm_password" = "비밀번호 확인";
35 "forget_change_password" = "비밀번호 찾기"; 35 "forget_change_password" = "비밀번호 찾기";
36 "input_new_pwd" = "새 비밀번호를 입력하세요"; 36 "input_new_pwd" = "새 비밀번호를 입력하세요";
37 "back" = "돌아가기"; 37 "back" = "돌아가기";
38 "play_btn_notice" = "현재 Guest유저 이용 중입니다. 계정 안전과 데이터 분실방지를 위해 회원가입을 클릭하여 가입하시기 바랍니다. Guest정보는 새 계정으로 자동 이동됩니다."; 38 "play_btn_notice" = "현재 Guest유저 이용 중입니다. 계정 안전과 데이터 분실방지를 위해 회원가입을 클릭하여 가입하시기 바랍니다. Guest정보는 새 계정으로 자동 이동됩니다.";
39 "Notice" = "알림 메시지"; 39 "Notice" = "알림 메시지";
40 "Continue" = "계속 로그인"; 40 "Continue" = "계속 로그인";
41 "Log_in" = "회원가입"; 41 "Log_in" = "회원가입";
42 42
43 43