提交 4ebe76e0 作者: 陈晨

iossdk对接说明文档

上级 b52816a6
File added
## ZYouSDK V1.0文档接入使用
## ZYouSDK V1.0文档接入使用
[目录](#sec1)
    1 [对接说明](#sec1)
    2 [对接SDK](#sec2)
    3 [参数说明](#sec3)
    4 [初始化SDK](#se4)
    5 [登录](#sec5)
               [接口参数](#sec5.1)
               [登录调用示例](#sec5.2)
               [悬浮球显示](#sec5.3)
               [悬浮球隐藏](#sec5.4)
    6 [调起支付页面](#sec6)
               [参数说明](#sec6.1)
               [调用示例](#sec6.2)
               [下单支付字段说明](#sec6.2)
    7 [支付回调通知](#sec7)
    8 [角色上报](#sec8)
               [参数说明](#sec8.1)
               [调用示例](#sec8.2)
    9 [退出登录](#sec9)
               [调用示例](#sec9.1)
#### 1、对接说明 <a name="sec1"></a>
&nbsp;&nbsp; 1.1、此sdk只支持iOS9.0以上版本
&nbsp;&nbsp; 1.2、所有SDK功能在ZYouManager类中,可通过初始化获取改类对象,后续所有更新功能都调用这个类中方法完成
### 2、对接SDK<a name="sec2"></a>
&nbsp;&nbsp; 2.1、从平台处获取对接SDK
&nbsp;&nbsp; 2.2、手动集成,将ZYouSDKFramework文件夹直接添加进工程,ZYouSDKFramework文件夹中包含ZYouSDK,ZYSDKConfig,ZYouBundle三个文件![4365daee286a0ed4b242137b44e17913.png](evernotecid://2148DC2D-0012-4C08-BDCC-9B4E50FA6277/appyinxiangcom/30061615/ENResource/p11)
&nbsp;&nbsp; 2.3、Xcode开启https请求
&nbsp;&nbsp; 在 Info.plist 中添加 NSAppTransportSecurity 类型 Dictionary
&nbsp;&nbsp; 在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型 Boolean ,值设为 YES
&nbsp;&nbsp; 2.4、Xcode添加白名单
&nbsp;&nbsp; 在 Info.plist 中添加 LSApplicationQueriesSchemes 类型 Array
&nbsp;&nbsp; 在LSApplicationQueriesSchemes下添加以下白名单
```
weixin
wechat
mqq
mqqapi
alipay
```
![a227d5c8ee5e13213278303bf02868fe.png](evernotecid://2148DC2D-0012-4C08-BDCC-9B4E50FA6277/appyinxiangcom/30061615/ENResource/p10)
&nbsp;&nbsp; 2.5、在Build Settings - Other Linker Flags里面加入-ObjC参数
![a3a97bf06e54e858a40e51c6abbb0886.png](evernotecid://2148DC2D-0012-4C08-BDCC-9B4E50FA6277/appyinxiangcom/30061615/ENResource/p9)
### 3、参数说明<a name="sec3"></a>
> **参数说明**:
| 参数名 | 说明 |
|:--------| -------------:|
| game_id | 游戏唯一标识,由平台方提供 |
|game_secret|服务端对接时会用到,由平台方提供|
### 4、初始化SDK<a name="sec4"></a>
app启动时调用注册game_id的方法
```
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[[ZYouManager shareInstance]zyRegisterGame];
return YES;
}
```
### 5、登录<a name="sec5"></a>
登录方法<a name="sec6.1"></a>
```
- (void)zy_loginViewSuccessBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
```
- 说明:调出登录页面登录成功返回token
- 需游戏服务端调用登录验证之后,才能进入游戏参照(SDK对接说明 2.2)
> **登录成功返回参数**:
| 参数 | 类型 | 说明 |
| :-------- | -------------: | -------------: |
| status_code | int| 状态码 |
| data| object | 返回数据 |
| msg| String| 描述信息 |
| data| object | 返回数据 |
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data | object | 用户数据 |
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; player_id | String | 玩家ID |
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avatar | String | 用户头像 |
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; has_identify | boolean | 是否实名 |
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user_token | strng | token |
> **登录失败返回参数**:
| 参数 | 类型 | 说明 |
| :-------- | -------------: | -------------: |
| msg| String| 描述信息 |
### 参数说明<a name="sec5.1"></a>
| 参数 | 说明 |
|:----|-----:|
|successBlock|成功回调|
|failureBlock|失败回调|
#### 登录调用示例<a name="sec5.2"></a>
```
[[ZYouManager shareInstance]zy_loginViewSuccessBlock:^(id _Nonnull responseObject) {
//显示悬浮球
[[ZYouManager shareInstance]zy_showSuspensionBallCancleBlock:^{
//退出个人中心页面
}];
} failureBlock:^(NSString * _Nonnull error) {
}];
```
#### 悬浮球显示<a name="sec5.3"></a>
```
//显示悬浮球
[[ZYouManager shareInstance]zy_showSuspensionBallCancleBlock:^{
//退出个人中心页面
}];
```
#### 悬浮球隐藏<a name="sec5.4"></a>
```
[[ZYouManager shareInstance]zy_hideSuspensionBall];
```
### 6、调起支付页面<a name="sec6"></a>
调起支付页面方法<a name="sec7.1"></a>
```
- (void)zy_payWithModel:(ZYPayInfoModel *)model successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
```
### 参数说明<a name="sec6.1"></a>
| 参数 | 说明 |
|:----|-----:|
|ZYPayInfoModel|支付参数|
|successBlock|成功回调|
|failureBlock|失败回调|
#### 调用示例<a name="sec6.2"></a>
```
ZYPayInfoModel *model = [[ZYPayInfoModel alloc]init];
ZYOrderModel *order = [[ZYOrderModel alloc]init];
order.cp_order_id = @"1531691516911368192_16006_9690822_425";
order.amount = @"1";
order.product_price = @"1";
order.product_id = @"16006";
order.product_cnt = @"1";
order.product_name = @"周三直购";
order.product_desc = @"0.1元惊喜包";
order.ext = @"1531691514967582720";
ZYRoleModel *role = [[ZYRoleModel alloc]init];
role.event = @"other";
role.server_id = @"100001";
role.server_name = @"主宰服";
role.cp_role_id = @"1314900";
role.role_name = @"哈哈哈哈哈哈你好";
role.role_level = @"1000";
role.role_vip = @"7";
role.combat_num = @"100";
role.online_time = @"10";
// role.attack = @"";
// role.profession = @"";
// role.gang_name = @"";
// role.trans_level = @"";
// role.sponsor_level = @"";
model.role_id = @"1314900";
model.role = role;
model.order = order;
[[ZYouManager shareInstance]zy_payWithModel:model successBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
}];
```
#### 下单支付字段说明<a name="sec6.3"></a>
| 名称 | 类型 | 是否必须 | 默认值|说明 |
|:--------------|-------:|-----:|-----:|-----------------:|
| cp_order_id | string | 必须 || CP订单ID |
| amount | number | 必须 | |商品总价(单位:分 |
| product_price | number | 必须 | |商品价格(整数,后台自动换算分) |
| product_id | String | 非必须 |0| 商品ID |
| product_cnt | number | 必须 | |商品数量 |
| product_name | string | 必须 |""| 商品名称 |
| product_desc | string | 非必须 |""| 商品描述 |
| ext | string | 必须 |""| 订 调用方定义 单额外信息用(json)|
| event | string | 必须 |""| 事件|
| server_id | string | 必须 |0| 区服id |
| server_name | string | 必须 |""| 区服名称|
| cp_role_id | string | 必须 | cp角色id |
| role_name | string | 必须 | ""|角色名称 |
| role_level | string | 必须 |0| 角色等级 |
| role_vip | string | 必须 | 0|角色vip等级 |
| role_id | string | 必须 |0| 角色ID |
### 7、支付回调通知<a name="sec7"></a>
1.1、支付回调通知请参考对接文档H5 SDK 对接文档-v1.0、服务端接入
### 8、角色上报<a name="sec8"></a>
角色上报方法
```
//角色上报
- (void)zy_reportRoleInfoWithModel:(ZYReportInfoModel*)model successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
```
### 参数说明<a name="sec8.1"></a>
| 参数 | 说明 |
|:----|-----:|
|ZYReportInfoModel|上报信息|
|successBlock|成功回调|
|failureBlock|失败回调|
#### 调用示例<a name="sec8.2"></a>
```
ZYReportInfoModel *model = [[ZYReportInfoModel alloc]init];
ZYRoleModel *role = [[ZYRoleModel alloc]init];
role.event = @"online";
role.server_id = @"100001";
role.server_name = @"主宰服";
role.cp_role_id = @"1314900";
role.role_name = @"哈哈哈哈哈哈你好";
role.role_level = @"1000";
role.role_vip = @"7";
role.combat_num = @"100";
role.online_time = @"10";
// role.attack = @"";
// role.profession = @"";
// role.gang_name = @"";
// role.trans_level = @"";
// role.sponsor_level = @"";
model.role = role;
[[ZYouManager shareInstance]zy_reportRoleInfoWithModel:model successBlock:^(id _Nonnull responseObject) {
dispatch_async(dispatch_get_main_queue(), ^{
CCToastView *view = [[CCToastView alloc]init];
[view makeToast:@"上报成功" inView:self.view];
});
} failureBlock:^(NSString * _Nonnull error) {
dispatch_async(dispatch_get_main_queue(), ^{
CCToastView *view = [[CCToastView alloc]init];
[view makeToast:error inView:self.view];
});
}];
```
#### 参数字段说明<a name="sec8.3"></a>
| 名称 | 类型 | 是否必须| 默认值 |说明 |
|:--------| -------------:| -------------------:|-------------:|-------------:|
| role{} | object | 必须 | | 角色信息 |
| event | String | 必须 |other |事件类型,online: 角色登录, create: 创建角色,level_up: 提升等级,offline: 角色退出,other: 其他,delete: 删除角色 |
| server_id | string | 必须 |0 | 区服ID |
| server_name | string | 必须 |"" | 区服名称 |
| cp_role_id |string | 必须 |"" | CP角色ID |
| role_name | string | 必须 |"" | 角色名称 |
| role_level | number | 必须 | 0| 角色等级 |
| role_vip | number | 必须 |0| 角色VIP等级 |
| combat_num | number | 必须 |0 | 角色战力 |
| reiki_num | String | 必须 | "0"| 角色灵符值|
| online_time | number | 必须 | 0| 本次在线时长 |
| attack | number | 必须 |0| 攻击力 |
| profession | string | 必须 |""| 职业 |
| game_name | string | 必须 |"" |帮会(行会)名称 |
| trans_level | string | 必须 | 0| 转生等级 |
| sponsor_level | string | 必须 |0 | 赞助等级/会员等级 |
### 9、退出登录<a name="sec9"></a>
```
//退出登录
- (void)zy_loginoutSuccessBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
```
#### 调用示例<a name="sec9.1"></a>
```
[[ZYouManager shareInstance]zy_loginoutSuccessBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
}];
```
- 说明:在需要退出登陆时可调用此方法,注意此方法为退出,并不会调出登陆界面
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论