# 统一SDK游戏接入文档



## 版本记录

| 版本  | 时间       | 更新内容               | 编写人 |
| ----- | ---------- | ---------------------- | ------ |
| 1.0.0 | 2015-05-28 | 开发                   | 郭琳琳 |
| 1.1.1 | 2018-09-12 | 渠道参数说明和注意事项 | 郭琳琳 |



## 接入准备

<font color="red">注意：</font>

<font color="red">1.所有渠道必须初始化成功以后才可以调用其他接口。</font>

<font color="red">2.悬浮按钮接口请在进入游戏主场景后调用，禁止在登录成功回调中调用。</font>

<font color="red">iOS9注意事项:</font>

<font color="red">Info.plist 中添加 NSAppTransportSecurity 类型 Dictionary。在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型 Boolean,值设为 YES</font> 



1. 开发包内容：包含三方渠道sdk，龙图SDK和头文件

![library_oversea.png](library_oversea.png)

2. 需要添加的系统库

![](framework_oversea.png)

3. 请将各个渠道SDK分别创建xcode项目link到工程，各个渠道SDK接口保持统一，但是依赖的库文件不同，编译配置也会有差异，详情如下表

   | 渠道名称                         | 依赖库                                                   | 编译配置                   |
   | -------------------------------- | -------------------------------------------------------- | -------------------------- |
   | 龙图平台（包含台湾、泰国、新马） | 1. LemonSDKResources.bundle<br />2. SVProgressHUD.bundle | Other Linker Flags = -ObjC |

4. 在工程的info.plist文件下配置下面两个字段，gameID、channeIID由平台统一分配

![](infoPlist_oversea.png)

5. facebook接入配置<参数由平台提供>

![](fb.png)

fb9.0.0及以上版本需引入swift空文件
![](fb1.jpg)
![](fb2.jpg)
![](fb3.jpg)
![](fb4.jpg)

6. googlej接入配置<参数由平台提供>

![](google_1.png)

![](google_2.png)

![](google_3.png)



## 接口介绍

<font color="red">注：所有回调接口返回的code为100是表示成功</font>

#### 1. 设置Delegate

```objective-c
[LTUnion sharedInstance].delegate = self; 	//接收回调
```



####2. 统一SDK初始化接口（<font color="red">必须注意：研发接入的时候必须保证初始化成功之后才可以调用SDK的其它接口</font>）

```objective-c
-(void)LTUnionSDKInit;
```



#### 3. 统一SDK登录接口（<font color="red">登录不成功SDK内部会弹出Alert进行提示</font>）

```objective-c
-(void)LTUnionSDKShowLoginView;
```



#### 4. 统一SDK用户中心接口（<font color="red">注意：该接口请在游戏内设置触发按钮进行调用，接口调用应该在登录SDK登录成功之后</font>）

```objective-c
-(void)LTUnionSDKShowUserCenter;
```



#### 5. 统一SDK事件上报接口（<font color="red">该接口需要研发根据事件发生的点进行调用，必须接入，否则影响数据统计</font>）

```objective-c
-(void)LTUnionSDKEventReport:(NSString *)eventType andExtension:(NSString *)extension;
```

​	参数：

​		eventType：打点事件名称

​		extension：扩展字段，可以传空或玩家信息



#### 6. 统一SDK充值接口

```objective-c
-(void)LTUnionSDKPay:(LTProduct *)ltProduct
```

​	参数：

| 参数                | 说明                                 |
| ------------------- | ------------------------------------ |
| ltProduct.price     | 价格                                 |
| ltProduct.userID    | 用户id                               |
| ltProduct.roleID    | 角色id                               |
| ltProduct.itemID    | 购买项id                             |
| ltProduct.billTitle | 购买项描述                           |
| ltProduct.zoneID    | 服务器id                             |
| ltProduct.payext    | 扩展参数，将会通过回调返回给cp服务器 |



#### 7. 统一SDK注销接口

```objective-c
-(void)LTUnionSDKLogout;
```



#### 8. 生命周期方法

```objective-c
应用程序启动 
-(BOOL)LTUionSDKApplication:(UIApplication *)application didFinishLaunchingWithOp-tions:(NSDictionary *)launchOptions;

应用程序被激活
-(void)LTUnionSDKApplicationDidBecomeActive:(UIApplication *)application;

应用程序进入前台
-(void)LTUnionSDKApplicationWillEnterForeground:(UIApplication *)application；

应用程序被其他应用程序唤起
-(BOOL)LTUnionSDKApplication:(UIApplication *)application openURL:(NSURL *)url sour-ceApplication:(NSString *)sourceApplication annotation:(id)annotation;
-	//iOS9使用
-	-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url op-tions:(NSDictionary<NSString *,id>*)options

调整屏幕方向
-(NSUinteger)LTUnionSDKapplication:(UIApplication *)application supportedInterfaceOri-entationsForWindow:(UIWindow *)window;
```



#### 9. appsFlyer事件上报

```objective-c
-(void)LTUnionSDKAppsFlyerTrackEvent:(NSString *)eventName withValues:(NSDictionary*)values;
```

​	参数：

​		eventName 是一个任意的字符串，代表事件名称

​		values 是一个包含该事件所有可能值的字典类型 (NSDictionary*)



