Commit a0c47a53187ec89f54c5d6ecfa7816b573e85b2c
1 parent
582a5a7307
Exists in
master
泰语语言修改,注册页密码图片修改
Showing 7 changed files with 6 additions and 6 deletions Inline Diff
IOSDocument.md
1 | # Gump IOS SDK使用文档 | 1 | # Gump IOS SDK使用文档 |
2 | 2 | ||
3 | 3 | ||
4 | 接入手册 | 4 | 接入手册 |
5 | V 3.6.2 | 5 | V 3.6.3 |
6 | 2018年10月19日 | 6 | 2018年10月19日 |
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 |
README.md
1 | # Gump IOS SDK使用文档 | 1 | # Gump IOS SDK使用文档 |
2 | 2 | ||
3 | 3 | ||
4 | 接入手册 | 4 | 接入手册 |
5 | V 3.6.2 | 5 | V 3.6.3 |
6 | 2018年10月19日 | 6 | 2018年10月19日 |
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.2"; | 20 | static NSString *version = @"3.6.3"; |
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 |
ios/GameSDK.zip
No preview for this file type
ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ios/GameSDKResources.bundle/th.strings
1 | "user_name_hint" = "ไอดี"; | 1 | "user_name_hint" = "ไอดี"; |
2 | "password_hint" = "ยืนยันรหัสผ่าน"; | 2 | "password_hint" = "รหัสผ่าน"; |
3 | "quick_login" = "เข้าโดยคลิกครั้งเดียว"; | 3 | "quick_login" = "เข้าโดยคลิกครั้งเดียว"; |
4 | "quick_play" = "เริ่มเล่น"; | 4 | "quick_play" = "เริ่มเล่น"; |
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" = "ท่านได้ทำการล๊อคอินแบบผู้เข้าพัก เพื่อความปลอดภัยของไอดีท่าน โปรดลงทะเบียนให้เสร็จก่อน ไอดีผู้เข้าพักของท่านก็จะถูกย้ายไปไอดีที่ท่านลงทะเบียนไว้"; | 38 | "play_btn_notice" = "ท่านได้ทำการล๊อคอินแบบผู้เข้าพัก เพื่อความปลอดภัยของไอดีท่าน โปรดลงทะเบียนให้เสร็จก่อน ไอดีผู้เข้าพักของท่านก็จะถูกย้ายไปไอดีที่ท่านลงทะเบียนไว้"; |
39 | "Notice" = "คำแนะนำ"; | 39 | "Notice" = "คำแนะนำ"; |
40 | "Continue" = "เข้าสู่ระบบต่อ"; | 40 | "Continue" = "เข้าสู่ระบบต่อ"; |
41 | "Log_in" = "ลงทะเบียนไอดี"; | 41 | "Log_in" = "ลงทะเบียนไอดี"; |
42 | 42 | ||
43 | 43 |