Commit 699ab5519cecd726ec01005280f28dcd40a4473f
1 parent
23a302b86e
Exists in
master
and in
1 other branch
SDK文档结构修改
Showing 19 changed files with 97 additions and 183 deletions Inline Diff
- IOSDocument.md
- doc/GumpTechDocument.md
- doc/IOSDocument.md
- doc/images/1.png
- doc/images/10.png
- doc/images/11.png
- doc/images/12.png
- doc/images/2.png
- doc/images/3.png
- doc/images/4.png
- doc/images/5.png
- doc/images/6.png
- doc/images/7.png
- doc/images/8.png
- doc/images/9.png
- doc/images/vk1.jpg
- doc/images/vk2.jpg
- doc/webgame.md
- doc/webpay.md
IOSDocument.md
| File was created | 1 | # Gump IOS SDK使用文档 | |
| 2 | |||
| 3 | |||
| 4 | 接入手册 | ||
| 5 | V 3.3.8 | ||
| 6 | 2016年07月04日 | ||
| 7 | |||
| 8 | ## 概述 | ||
| 9 | #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 | ||
| 10 | |||
| 11 | ## 接入步骤 | ||
| 12 | ### 1、添加Framework和资源文件 | ||
| 13 | + 以下为必须添加的framework以及资源bundle: | ||
| 14 | MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle、libsqlite3.tbd | ||
| 15 | + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本 | ||
| 16 | VKSdk.framework、VKBridge.framework、VKSDKResources.bundle | ||
| 17 | |||
| 18 | |||
| 19 | ### 2、引入头文件,设置build setting | ||
| 20 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 | ||
| 21 | 因sdk内使用了category,需要设置other linker flag为 -ObjC | ||
| 22 | |||
| 23 | |||
| 24 | ### 3、增加必要配置 | ||
| 25 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: | ||
| 26 | |||
| 27 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; | ||
| 28 | |||
| 29 | |||
| 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. | ||
| 32 |  | ||
| 33 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID | ||
| 34 |  | ||
| 35 | ### 4、在工程里添加SDK登录代码 | ||
| 36 | |||
| 37 | [LetsGameAPI instance].appId = @"100"; // 设置appId | ||
| 38 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey | ||
| 39 | |||
| 40 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 | ||
| 41 | //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; | ||
| 42 | //[LetsGameAPI instance].vkBridge = vkBridge; | ||
| 43 | |||
| 44 | //隐藏fb登录 | ||
| 45 | [LetsGameAPI disableFB:YES]; | ||
| 46 | |||
| 47 | //隐藏gumptech的logo | ||
| 48 | [LetsGameAPI hiddenLogo:YES]; | ||
| 49 | |||
| 50 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 | ||
| 51 | |||
| 52 | // 登录成功回调 | ||
| 53 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { | ||
| 54 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); | ||
| 55 | }; | ||
| 56 | |||
| 57 | // 登录失败回调 | ||
| 58 | [LetsGameAPI instance].dismissBlock = ^() { | ||
| 59 | NSLog(@"dismiss without login"); | ||
| 60 | }; | ||
| 61 | |||
| 62 | |||
| 63 | ### 5、第三方支付 | ||
| 64 | [LetsGameAPI instance].appId = @"10022"; | ||
| 65 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; | ||
| 66 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | ||
| 67 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 | ||
| 68 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id | ||
| 69 | [payInfo setValue:@"10" forKey:@"amount"];//金额 | ||
| 70 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 | ||
| 71 | [payInfo setValue:@"元宝" forKey:@"product"];//物品信息 | ||
| 72 | [[LetsGameAPI instance] pay:payInfo]; | ||
| 73 | |||
| 74 | ### 6、IAP支付 | ||
| 75 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 | ||
| 76 | |||
| 77 | [[LetsGameAPI instance] registeIapObserver]; | ||
| 78 | 具体调用iap支付的方法如下: | ||
| 79 | |||
| 80 | [LetsGameAPI instance].appId = @"10022"; | ||
| 81 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; | ||
| 82 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | ||
| 83 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id | ||
| 84 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id | ||
| 85 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 | ||
| 86 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 | ||
| 87 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 | ||
| 88 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId | ||
| 89 | [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){ | ||
| 90 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 | ||
| 91 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 | ||
| 92 | NSLog(@"iap completed orderId of gumptech:%@",orderId); | ||
| 93 | }]; | ||
| 94 | ### 7、SDK版本测试设置 | ||
| 95 | 若想使用SDK的debug版本,需要在AppDelegate的application: didFinishLaunchingWithOptions:中设置: | ||
| 96 | [[LetsGameAPI instance] decideIsDebug:1]; | ||
| 97 | 不设置或者设置为0时,默认使用release版本 | ||
| 98 |
doc/GumpTechDocument.md
| 1 | ## GumpTech SDK 接入文档 | File was deleted | |
| 2 | |||
| 3 | 接入文档: | ||
| 4 | ---------------------------------- | ||
| 5 | 1. Android 部分 [here](http://git.letsgame.mobi/document/gumptech-document/blob/master/doc/AndroidDocument.md) | ||
| 6 | 2. IOS部分 | ||
| 7 | 3. 服务端部分 [here](http://git.letsgame.mobi/document/gumptech-document/blob/master/doc/ServerDocument.md) | ||
| 8 | 4. 页面支付部分 [here](http://git.letsgame.mobi/document/gumptech-document/blob/master/doc/webpay.md) |
doc/IOSDocument.md
| 1 | # Gump IOS SDK使用文档 | File was deleted | |
| 2 | |||
| 3 | |||
| 4 | 接入手册 | ||
| 5 | V 3.3.8 | ||
| 6 | 2016年07月04日 | ||
| 7 | |||
| 8 | ## 概述 | ||
| 9 | #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 | ||
| 10 | |||
| 11 | ## 接入步骤 | ||
| 12 | ### 1、添加Framework和资源文件 | ||
| 13 | + 以下为必须添加的framework以及资源bundle: | ||
| 14 | MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle、libsqlite3.tbd | ||
| 15 | + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本 | ||
| 16 | VKSdk.framework、VKBridge.framework、VKSDKResources.bundle | ||
| 17 | |||
| 18 | |||
| 19 | ### 2、引入头文件,设置build setting | ||
| 20 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 | ||
| 21 | 因sdk内使用了category,需要设置other linker flag为 -ObjC | ||
| 22 | |||
| 23 | |||
| 24 | ### 3、增加必要配置 | ||
| 25 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: | ||
| 26 | |||
| 27 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; | ||
| 28 | |||
| 29 | |||
| 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. | ||
| 32 |  | ||
| 33 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID | ||
| 34 |  | ||
| 35 | ### 4、在工程里添加SDK登录代码 | ||
| 36 | |||
| 37 | [LetsGameAPI instance].appId = @"100"; // 设置appId | ||
| 38 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey | ||
| 39 | |||
| 40 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 | ||
| 41 | //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; | ||
| 42 | //[LetsGameAPI instance].vkBridge = vkBridge; | ||
| 43 | |||
| 44 | //隐藏fb登录 | ||
| 45 | [LetsGameAPI disableFB:YES]; | ||
| 46 | |||
| 47 | //隐藏gumptech的logo | ||
| 48 | [LetsGameAPI hiddenLogo:YES]; | ||
| 49 | |||
| 50 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 | ||
| 51 | |||
| 52 | // 登录成功回调 | ||
| 53 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { | ||
| 54 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); | ||
| 55 | }; | ||
| 56 | |||
| 57 | // 登录失败回调 | ||
| 58 | [LetsGameAPI instance].dismissBlock = ^() { | ||
| 59 | NSLog(@"dismiss without login"); | ||
| 60 | }; | ||
| 61 | |||
| 62 | |||
| 63 | ### 5、第三方支付 | ||
| 64 | [LetsGameAPI instance].appId = @"10022"; | ||
| 65 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; | ||
| 66 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | ||
| 67 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 | ||
| 68 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id | ||
| 69 | [payInfo setValue:@"10" forKey:@"amount"];//金额 | ||
| 70 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 | ||
| 71 | [payInfo setValue:@"元宝" forKey:@"product"];//物品信息 | ||
| 72 | [[LetsGameAPI instance] pay:payInfo]; | ||
| 73 | |||
| 74 | ### 6、IAP支付 | ||
| 75 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 | ||
| 76 | |||
| 77 | [[LetsGameAPI instance] registeIapObserver]; | ||
| 78 | 具体调用iap支付的方法如下: | ||
| 79 | |||
| 80 | [LetsGameAPI instance].appId = @"10022"; | ||
| 81 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; | ||
| 82 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | ||
| 83 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id | ||
| 84 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id | ||
| 85 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 | ||
| 86 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 | ||
| 87 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 | ||
| 88 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId | ||
| 89 | [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){ | ||
| 90 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 | ||
| 91 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 | ||
| 92 | NSLog(@"iap completed orderId of gumptech:%@",orderId); | ||
| 93 | }]; | ||
| 94 | ### 7、SDK版本测试设置 | ||
| 95 | 若想使用SDK的debug版本,需要在AppDelegate的application: didFinishLaunchingWithOptions:中设置: | ||
| 96 | [[LetsGameAPI instance] decideIsDebug:1]; | ||
| 97 | 不设置或者设置为0时,默认使用release版本 | ||
| 98 | 1 | # Gump IOS SDK使用文档 |
doc/images/1.png
26.2 KB
doc/images/10.png
6.81 KB
doc/images/11.png
66 KB
doc/images/12.png
57.6 KB
doc/images/2.png
6.79 KB
doc/images/3.png
7.2 KB
doc/images/4.png
10.4 KB
doc/images/5.png
88.5 KB
doc/images/6.png
67.3 KB
doc/images/7.png
65.9 KB
doc/images/8.png
91.1 KB
doc/images/9.png
52.4 KB
doc/images/vk1.jpg
11.6 KB
doc/images/vk2.jpg
6.35 KB
doc/webgame.md
doc/webpay.md
| 1 | 以下两个接口需要研发商提供,否则支付的时候会出现"获取支付信息失败"提示 | File was deleted | |
| 2 | ---------------------------------- | ||
| 3 | 接口请联系运营人员配置到Gump管理后台 | ||
| 4 | |||
| 5 | |||
| 6 | 第三方查询角色接口(需要研发商提供) | ||
| 7 | ------------------------- | ||
| 8 | |||
| 9 | GumpTech调用过程如下: | ||
| 10 | 请求接口:queryRoleUrl的地址 | ||
| 11 | 请求方式:post | ||
| 12 | 参数: | ||
| 13 | serverId servers参数json中的serverId的值 | ||
| 14 | userId GumpTech用户id | ||
| 15 | 返回值: | ||
| 16 | { | ||
| 17 | "userId":5104 | ||
| 18 | "roleId":5104 | ||
| 19 | "roleName":"卡卡" | ||
| 20 | } | ||
| 21 | userId为GumpTech平台的用户id | ||
| 22 | roleId为第三方平台的角色id | ||
| 23 | roleName为第三方平台的角色名字 | ||
| 24 | |||
| 25 | |||
| 26 | 第三方查询区服列表接口(需要研发商提供) | ||
| 27 | ------------------------- | ||
| 28 | |||
| 29 | |||
| 30 | Gump调用过程如下:querySeversUrl的地址 | ||
| 31 | |||
| 32 | 请求方式:get方式 | ||
| 33 | 参数:无 | ||
| 34 | 返回值: | ||
| 35 | |||
| 36 | 字符串格式json串,如下: | ||
| 37 | [ | ||
| 38 | {"serverId":"s2", "serverName":"测试1"}, | ||
| 39 | {"serverId":"s2", "serverName":"测试1"} | ||
| 40 | ... | ||
| 41 | ] | ||
| 42 | |||
| 43 | |||
| 44 | 充值成功通知第三方服务端接口 | ||
| 45 | ----------------------------- | ||
| 46 | |||
| 47 | |||
| 48 | 请参考[GumpTech服务端文档](http://git.letsgame.mobi/document/gumptech-document/blob/master/doc/ServerDocument.md) | ||
| 49 | |||
| 50 | |||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | GumpTech页面支付(已集成到sdk中,可忽略) | ||
| 55 | ----------------------- | ||
| 56 | |||
| 57 | 接入使用方式: | ||
| 58 | ----------------------- | ||
| 59 | 请使用浏览器方式嵌套GumpTech支付地址: | ||
| 60 | |||
| 61 | 统一支付: http://api.gumptech.com/v2/p/index.do | ||
| 62 | 横版: http://api.gumptech.com/v2/wide/p/index.do | ||
| 63 | |||
| 64 | 横版V3: http://api.gumptech.com/v3/wide/p/index.do(引入Gump币支付) | ||
| 65 | |||
| 66 | 需要传入参数: | ||
| 67 | 1. appId: 必选参数 接入前GumpTeck分配的应用id | ||
| 68 | 2. userId: 必选参数 GumpTech平台的用户id | ||
| 69 | 3. serverId: 必选参数 注意次参数为字符串,必须保证跟获取区服列表中serverId值保证一致 | ||
| 70 | 4. extraInfo: 必选参数 第三方自定义字段,字符200以内,原样回调给第三方。 | ||
| 71 | 5. product: 必选参数 第三方传入,购买物品 | ||
| 72 | 6. amount: 可选参数 第三方传入,购买物品所需要的金额(点数) | ||
| 73 | |||
| 74 | 7.sessionKey: V3版本必选 登录获取的sessionKey,支付使用 | ||
| 75 | |||
| 76 | 以下参数需要在服务端配置,需要研发商联系接口人配置: | ||
| 77 | 1. queryRoleUrl: 支付页面显示服务器列表 参考【第三方查询角色接口】 | ||
| 78 | 2. querySeversUrl: 查询用户角色 格式参考【第三方查询区服列表接口】 |