<br/>
## **1. 开发包说明**
```ObjectiveC
YXMSDK.framework 基础包
YXMBundle.bundle 资源包(以前接过需要删除)
Bugly.framework 统计包(以前接过需要删除)
VerifyCode.framework 滑动验证包
NTESVerifyCodeResources.bundle 滑动验证资源
```
<br/>
## **2. 开发环境配置**
**2.1 添加依赖包**
```ObjectiveC
VerifyCode.framework
YXMSDK.framework
YXMBundle.bundle
Bugly.framework
libz.tbd
libsqlite3.tbd
StoreKit.framework
AVFoundation.framework
iAd.framework
AdSupport.framework
CoreMotion.framework
Security.framework
WebKit.framework
JavaScriptCore.framework
SystemConfiguration.framework
CoreTelephony.framework
libsqlite3.tbd
libz.tbd
```
<br/>
**2.2 工程配置**
<br/>
* yxmsdk 需要在frameWork选择 embed&sign
![](https://img.kancloud.cn/b9/c8/b9c8d14dd0014889e933f70e0776f1bb_982x54.png)
<br/>
* yxmsdk 要加入在 embed frameWork
![](https://img.kancloud.cn/be/18/be18f8bdd0de03325f9f9222a9319646_1262x364.png)
<br/>
* sdk初始化参数配置,具体值根据我司提供参数
![](https://box.kancloud.cn/653d519f1afd729bff0e83db0f1f730b_1072x254.png)
<br/>
* Deployment Target 设置,最低版本8.0
![](https://box.kancloud.cn/e34d089f07c16f5d912cfcabb7f3fb89_818x116.png)
<br/>
* Device Orientation 设置,sdk横竖屏都支持,根据游戏选择对应支持的方向
![](https://box.kancloud.cn/f7649b1e83371fa49b03d9bddda3bf26_630x168.png)
<br/>
* info.plist 中添加,以允许http 访问
![](https://box.kancloud.cn/8897fd81a7ff0911fec93efbda99fa98_780x74.png)
<br/>
* info.plist 中添加白名单
![](https://box.kancloud.cn/59db6e573fc72105f37302d72c600bb4_782x76.png)
<br/>
* Other Linker Flags 添加\-ObjC
![](https://box.kancloud.cn/d412af570d091ba3761506b26aa33c8d_730x44.png)
<br/>
* Enable Bitcode设置为NO
![](https://box.kancloud.cn/12cb829cdbef28e7b284b4341ef48416_692x40.png)
<br/>
* URL Types设置,必须与bundleID一致
![](https://box.kancloud.cn/e383f3e9b36f9220b660098a4b8b5953_1340x232.png)
<br/>
<br/>
**2.3 支付宝支付回调配置**
```ObjectiveC
以下方法在APPDelegate中添加导入头文件 #import <YXMSDK/YXM_SDK.h>
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
[YXM_SDK yxm_showOpenURLWithURL:url ResultMessage:^(NSInteger statusCode) {
// 根据statusCode(0:成功;1:取消;2:失败),写游戏业务逻辑
}];
return YES;
}
// iOS9 以前
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
[YXM_SDK yxm_showOpenURLWithURL:url ResultMessage:^(NSInteger statusCode) {
// 根据statusCode(0:成功;1:取消;2:失败),写游戏业务逻辑
}];
return YES;
}
// iOS9 以后
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url
options:(NSDictionary *)options
{
[YXM_SDK yxm_showOpenURLWithURL:url ResultMessage:^(NSInteger statusCode) {
// 根据statusCode(0:成功;1:取消;2:失败),写游戏业务逻辑
}];
return YES;
}
```
<br/>
#### **备注:SDK只支持真机上运行**
<br/><br/>
## **3 接口说明**
导入头文件 #import <YXMSDK/YXM_SDK.h>
<br/>
**3.1 初始化(必接)**
```ObjectiveC
说明:在- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中调用
调用:
[YXM_SDK yxm_start];
```
<br/>
**3.2 初始化登出回调(必接)**
```ObjectiveC
说明:和初始化接口同时调用
[YXM_SDK yxm_logoutFinish:^{
// 写入游戏登出逻辑…
}];
```
<br/>
**3.3 登录(必接)**
```ObjectiveC
[YXM_SDK yxm_loginSuccess:^(NSString*openId) {
// 成功回调
} loginFail:^(NSError *error) {
// 失败回调
}];
```
<br/>
**3.4 登出(必接)**
```ObjectiveC
[YXM_SDK yxm_logout];
```
<br/>
**3.5 充值(必接)**
说明:购买游戏道具时调用,这个block回调是内支付回调,支付宝回调参考2.3
| 参数 | 类型 | 名称 | 必传 | 备注 |
| --- | --- | --- | --- | --- |
| price | number | 价格 | 是 |
| description | string | 产品名称 | 是 |
| notifyUrl | string | 支付回调地址 | 是 |
| extend | string | 透传字段 | 是 |
| productId | string | 产品ID | 是 | 企业版:传@"" |
| roleId | string | 角色ID | 是 |
| roleName | string | 角色名称 | 是 |
| roleServerName | string | 区服名称 | 是 |
| roleServerId | string | 区服Id | 是 |
| success | | | | 内购成功回调 |
| fail | | | | 内购失败回调 |
调用:
```ObjectiveC
[YXM_SDK yxm_recharge:@10
description:@"一箱元宝"
codeNo:@"CodeNo200008"
url:@"http://xxxxxxxxxx/mockjsdata/11/sdk/notify"
ext:@"ext"
product:@"xxxxxxxxxx"
roleId:@"ziwei"
roleName:@"天"
roleServerName:@"22222"
roleServerId:@“123”
success:^ {
// 支付成功
} fail:^(NSError *error) {
// 支付失败
}];
```
<br/>
**3.6 同步角色(必接)**
说明:下面三种情况下调用:1,进入游戏 2,角色等级变更 3,修改游戏名片
| 参数 | 类型 | 名称 | 必传 | 备注 |
| --- | --- | --- | --- | --- |
| roleName | string | 角色名称 | 是 |
| roleServer | string | 区服名称 | 是 |
| roleServerId | string | 区服Id | 是 |
| roleGrade | string | 角色等级 | 是 |
| roleCamp | string | 角色阵营 | | 没有的话,传@"" |
| roleId | string | 角色Id | 是 |
调用:
```ObjcetiveC
[YXM_SDK yxm_syncRole:@"后羿"
roleServer:@"王者荣耀"
roleServerId:@"123"
roleGrade:@"23"
roleCamp:@"123"
roleId:@"111"];
```
<br/>
**3.7 闪屏(必接)**
```ObjectiveC
说明:显示闪屏,2秒后自动消失
调用:
[YXM_SDK yxm_splash];
```
<br/><br/>
_ _ _
至此,你已经能使用游戏猫SDK的API内容了。如果想更详细了解每个API的用法,请阅读**SDK Demo**。
<br/><br/>