Commit cb177c739b919a2ab4e010be43ee8776575d83b4
1 parent
c3311ae2f5
Exists in
master
增加fb登录隐藏说明
Showing 1 changed file with 3 additions and 0 deletions Inline Diff
doc/IOSDocument.md
1 | # Gump IOS SDK使用文档 | 1 | # Gump IOS SDK使用文档 |
2 | 2 | ||
3 | 3 | ||
4 | 接入手册 | 4 | 接入手册 |
5 | V 3.3.3 | 5 | V 3.3.3 |
6 | 2016年01月21日 | 6 | 2016年01月21日 |
7 | 7 | ||
8 | ## 概述 | 8 | ## 概述 |
9 | #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 | 9 | #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 |
10 | 10 | ||
11 | ## 接入步骤 | 11 | ## 接入步骤 |
12 | ### 1、添加Framework和资源文件 | 12 | ### 1、添加Framework和资源文件 |
13 | + 以下为必须添加的framework以及资源bundle: | 13 | + 以下为必须添加的framework以及资源bundle: |
14 | MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle | 14 | MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle |
15 | + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本 | 15 | + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本 |
16 | VKSdk.framework、VKBridge.framework、VKSDKResources.bundle | 16 | VKSdk.framework、VKBridge.framework、VKSDKResources.bundle |
17 | 17 | ||
18 | 18 | ||
19 | ### 2、引入头文件,设置build setting | 19 | ### 2、引入头文件,设置build setting |
20 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 | 20 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 |
21 | 因sdk内使用了category,需要设置other linker flag为 -ObjC | 21 | 因sdk内使用了category,需要设置other linker flag为 -ObjC |
22 | 22 | ||
23 | 23 | ||
24 | ### 3、增加必要配置 | 24 | ### 3、增加必要配置 |
25 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: | 25 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: |
26 | 26 | ||
27 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; | 27 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; |
28 | 28 | ||
29 | 29 | ||
30 | 2)配置URL-schema(vk专用,不接入vk可忽略) | 30 | 2)配置URL-schema(vk专用,不接入vk可忽略) |
31 | Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields. | 31 | Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields. |
32 |  | 32 |  |
33 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID | 33 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID |
34 |  | 34 |  |
35 | ### 4、在工程里添加SDK登录代码 | 35 | ### 4、在工程里添加SDK登录代码 |
36 | 36 | ||
37 | [LetsGameAPI instance].appId = @"100"; // 设置appId | 37 | [LetsGameAPI instance].appId = @"100"; // 设置appId |
38 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey | 38 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey |
39 | 39 | ||
40 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 | 40 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 |
41 | //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; | 41 | //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; |
42 | //[LetsGameAPI instance].vkBridge = vkBridge; | 42 | //[LetsGameAPI instance].vkBridge = vkBridge; |
43 | 43 | ||
44 | //隐藏fb登录 | ||
45 | [LetsGameAPI disableFB:NO]; | ||
46 | |||
44 | //隐藏gumptech的logo | 47 | //隐藏gumptech的logo |
45 | [LetsGameAPI hiddenLogo:YES]; | 48 | [LetsGameAPI hiddenLogo:YES]; |
46 | 49 | ||
47 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 | 50 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 |
48 | 51 | ||
49 | // 登录成功回调 | 52 | // 登录成功回调 |
50 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { | 53 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { |
51 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); | 54 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); |
52 | }; | 55 | }; |
53 | 56 | ||
54 | // 登录失败回调 | 57 | // 登录失败回调 |
55 | [LetsGameAPI instance].dismissBlock = ^() { | 58 | [LetsGameAPI instance].dismissBlock = ^() { |
56 | NSLog(@"dismiss without login"); | 59 | NSLog(@"dismiss without login"); |
57 | }; | 60 | }; |
58 | 61 | ||
59 | 62 | ||
60 | ### 5、第三方支付 | 63 | ### 5、第三方支付 |
61 | [LetsGameAPI instance].appId = @"10022"; | 64 | [LetsGameAPI instance].appId = @"10022"; |
62 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; | 65 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; |
63 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 66 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
64 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 | 67 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 |
65 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id | 68 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id |
66 | [payInfo setValue:@"10" forKey:@"amount"];//金额 | 69 | [payInfo setValue:@"10" forKey:@"amount"];//金额 |
67 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 | 70 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 |
68 | [payInfo setValue:@"元宝" forKey:@"product"];//物品信息 | 71 | [payInfo setValue:@"元宝" forKey:@"product"];//物品信息 |
69 | [[LetsGameAPI instance] pay:payInfo]; | 72 | [[LetsGameAPI instance] pay:payInfo]; |
70 | 73 | ||
71 | ### 6、IAP支付 | 74 | ### 6、IAP支付 |
72 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 | 75 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 |
73 | 76 | ||
74 | [[LetsGameAPI instance] registeIapObserver]; | 77 | [[LetsGameAPI instance] registeIapObserver]; |
75 | 具体调用iap支付的方法如下: | 78 | 具体调用iap支付的方法如下: |
76 | 79 | ||
77 | [LetsGameAPI instance].appId = @"10022"; | 80 | [LetsGameAPI instance].appId = @"10022"; |
78 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; | 81 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; |
79 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 82 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
80 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id | 83 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id |
81 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id | 84 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id |
82 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 | 85 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 |
83 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 | 86 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 |
84 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 | 87 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 |
85 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId | 88 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId |
86 | [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){ | 89 | [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){ |
87 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 | 90 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 |
88 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 | 91 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 |
89 | NSLog(@"iap completed orderId of gumptech:%@",orderId); | 92 | NSLog(@"iap completed orderId of gumptech:%@",orderId); |
90 | }]; | 93 | }]; |