xuguohong

update doc

......@@ -24,6 +24,7 @@
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="org.simalliance.openmobileapi.SMARTCARD" />
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc.hce" />
<!-- SDK end -->
......@@ -40,7 +41,6 @@
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
......@@ -61,7 +61,8 @@
android:name="com.youai.sdk.YouaiSDK"
android:label="youai_sdk"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Dialog" />
android:theme="@android:style/Theme.Dialog" >
</activity>
<service
android:name="com.youai.sdk.YouaiService"
......
......@@ -11,4 +11,5 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
# Project target.
target=android-20
......
......@@ -5,22 +5,20 @@
#### 1.1、将 SDK 压缩包中 libs 目录下的所有 资源 包复制到游戏工程的libs 目录下 ####
![](http://i.imgur.com/mCEBudf.png)
#### 1.2、复制SDK压缩包中assets目录下的所有内容到游戏工程的assets目录 ####
- 将游戏中的闪屏图片放到assets中poolsdk_splash目录下
- 将assets中的poolsdk.xml中的`YA_APPKEY,YA_APPID,gamesimplename` 修改为后台生成的参数(必填
- channelparameter1 和 channelparameter2 为后台对应渠道编号1和2(选填)
- 将游戏中的闪屏图片放到assets中poolsdk_splash目录下(选用,图片文件名任意,最多支持2张闪屏)
- 将assets中的poolsdk.xml中的 **YA_APPKEY,YA_APPID,gamesimplename** 修改为申请的参数(必填)(请与相关人员申请
- channelparameter1 和 channelparameter2 为后台对应渠道编号1和2(选填)(游戏客户端可以通过文档 2.12 方法获取)
- custom 为自定义参数(选填)
- gamechannelid 为游戏渠道号(选填)
- gamechannelid 为游戏渠道号(选填)(游戏客户端可以通过文档 2.12 方法获取)
![](http://i.imgur.com/gcqAjL1.png)
#### 1.3、修改游戏工程的AndroidManifest.xml(可以参照复制Demo中 AndroidManifest.xml文件) ####
- 添加声明权限:
-
```xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
......@@ -100,14 +98,20 @@
```
### 2、功能接口 ###
### 2、功能接口 (注意:以下所有接口都必须在 SDK 初始化完成之后才能调用) ###
(注意:以下所有接口都必须在 SDK 初始化完成之后才能调用)
2.1、继承 PoolSDKApplication(必接)
说明:<br>
游戏工程如果没有Application,请在 AndroidManifest.xml 中添加SDK的Application,如下所示:
<application android:name="com.gzyouai.publicsdk.application.PoolSDKApplication">
游戏工程如果有 Application,请继承 SDK 中 PoolSDKApplication:
#### 2.1、继承 PoolSDKApplication(必接)
游戏工程如果没有Application,请在 AndroidManifest.xml 中添加SDK的Application,如下所示:
```xml
<application android:name="com.gzyouai.publicsdk.application.PoolSDKApplication">
```
游戏工程如果有 Application,请继承 SDK 中 PoolSDKApplication:
```java
public class XXXXApplication extends PoolSDKApplication {
@Override
public void onCreate() {
......@@ -115,19 +119,23 @@
super.onCreate();
}
}
2.2、初始化接口(必接)
```
#### 2.2、初始化接口(必接)
接口说明:
首先在程序开始的地方调用 SDK 的初始化 init 方法,并设 置 Activity 对像和初始化完成回调
监听(在初始化失败情况下不 再调用其它 SDK 接口方法)
注意:要确保在 SDK 初始化成功后才可调用其它接口
2.2.1、方法定义
public static void init(final Activity activity,final PoolSDKCallBackListener callBackListener)
2.2.2、参数说明
#### 2.2.2、参数说明
| 参数 | 说明 |
| ---------------- | -------------------------------- |
| activity | Activity 对应 |
| callBackListener | 初始化完成回调通知,需实现 poolSdkCallBack 方法 |
```java
2.2.3、代码示例:
PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
@Override
......@@ -144,17 +152,27 @@
}
}
});
2.3、登录接口(必接)
接口说明:游戏登录时调用
2.3.1、方法定义
public static void login(final String paramCustom,final PoolLoginListener poolLoginListener)
2.3.2、参数说明
```
#### 2.3、登录接口(必接)
接口说明:游戏登录时调用
#### 2.3.1、方法定义
```java
public static void login(final String paramCustom,final PoolLoginListener poolLoginListener)
```
#### 2.3.2、参数说明
| 参数 | 说明 |
| ----------------- | ---------------------------------------- |
| paramCustom | 游戏自定义参数,可通过登录成功回调方法onLoginSuccess 中的参数PoolLoginInfo 对象的 getCustom()获取 |
| poolLoginListener | 登录结果回调通知,需实现 onLoginSuccess 方法 |
```java
2.3.3、代码示例
PoolSdkHelper.login("登录自定义字段", new PoolLoginListener() {
@Override
......@@ -174,13 +192,22 @@
}
});
2.4、提交角色数据接口(必接)
接口说明:游戏提交角色数据接口,该接口需要在以下 3 中情况下
调用:进入游戏主场景、创建角色、角色升级(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)
2.4.1、方法定义
public static void submitRoleData(final PoolRoleInfo poolRoleInfo,
final PoolRoleListener poolRoleListener)
2.4.2、参数说明
```
#### 2.4、提交角色数据接口(必接)
接口说明:游戏提交角色数据接口,该接口需要在以下3中情况下调用:
进入游戏主场景、创建角色、角色升级
**(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)**
#### 2.4.1、方法定义
```java
public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRoleListener poolRoleListener)
```
#### 2.4.2、参数说明
| 参数 | 说明 |
| ---------------- | ---------------- |
| poolRoleInfo | 角色数据实体类 |
......@@ -205,6 +232,8 @@
| diamond | 余额 |
| moneyType | 商品单位 |
```java
2.4.3、代码示例
/********************************************
* 以下所有字段都是必填项
......@@ -224,9 +253,9 @@
poolRoleInfo.setVipLevel("10");//vip等级
poolRoleInfo.setDiamond("1000");//余额
poolRoleInfo.setMoneyType("金币");//商品单位
poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);
poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级
PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
@Override
......@@ -235,10 +264,17 @@
}
});
2.5、支付接口(必接)
2.5.1、方法定义
public static void pay(final PoolPayInfo poolPayInfo,final PoolPayListener poolPayListener)
2.5.2、参数说明
```
#### 2.5、支付接口(必接)
#### 2.5.1、方法定义
```java
public static void pay(final PoolPayInfo poolPayInfo,final PoolPayListener poolPayListener)
```
#### 2.5.2、参数说明
| 参数 | 说明 |
| ---------------- | ---------------- |
| poolRoleInfo | 角色数据实体类 |
......@@ -258,6 +294,8 @@
| exchange | 游戏币与人民币(元)的兑换比例 |
| custom | 自定义透传参数,通过回调函数原样返回 |
```java
2.5.3、代码示例
/********************************************
* 以下所有字段都是必填项
......@@ -284,7 +322,7 @@
poolPayInfo.setExchange("10");
// 自定义参数
poolPayInfo.setCustom("我是自定义参数");
// TODO Auto-generated method stub
// 充值回调以服务端回调为准
PoolSdkHelper.pay(poolPayInfo, new PoolPayListener() {
@Override
public void onPaySuccess(String paramCustom) {
......@@ -296,18 +334,31 @@
+ errorMsg);
}
});
```
2.6、检测 SDK 是否含有用户中心接口(必接)
说明:如果接口返回为 true,表示需要游戏方在合适的界面中添加一个用户中心的按钮,点击按钮时调用文
档中 2.7 的用户中心接口;如果返回 false,则不做处理
2.6.1、方法定义
public static boolean hasChannelCenter()
2.7、用户中心接口(必接)
说明:打开渠道用户中心界面
2.7.1、方法定义
public static void openChannelCenter()
2.7.2、代码示例
/**
#### 2.6、检测 SDK 是否含有用户中心接口(必接)
说明:如果接口返回为 true,表示需要游戏方在合适的界面中添加一个用户中心的按钮,点击按钮时调用文档中 2.7 的用户中心接口;
如果返回 false,则不做处理
#### 2.6.1、方法定义
```java
public static boolean hasChannelCenter()
```
#### 2.7、用户中心接口(必接)
说明:打开渠道用户中心界面
#### 2.7.1、方法定义
```java
public static void openChannelCenter()
```
```java
2.7.2、代码示例
/**
* 用户中心
*
* 游戏方先调用PoolSdkHelper.hasChannelCenter()获取是否有用户中心,
......@@ -318,39 +369,56 @@
PoolSdkHelper.openChannelCenter();
}
2.8、注销登录监听接口
说明:可在游戏启动时设置注销监听事件,渠道注销成功后 SDK 会回调 onLogoutSuccess 方法通知游戏,游戏可在此处理切换账号逻辑
2.8.1、方法定义
public static void setLogoutCallback(final PoolLogoutListener poolLogoutListener)
2.8.2、参数说明
```
#### 2.8、注销登录监听接口
说明:可在游戏启动时设置注销监听事件,渠道注销成功后 SDK 会回调 onLogoutSuccess 方法通知游戏,游戏可在此处理切换账号逻辑
#### 2.8.1、方法定义
```java
public static void setLogoutCallback(final PoolLogoutListener poolLogoutListener)
```
#### 2.8.2、参数说明 ####
| 参数 | 说明 |
| ------------------ | --------------------------------- |
| poolLogoutListener | 账户注销成功回调监听,需实现 onLogoutSuccess 方法 |
```java
2.8.3、代码示例
PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() {
PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() {
@Override
public void onLogoutSuccess() {
// TODO: 此处处理SDK登出的逻辑
login();
PoolSdkLog.logInfo("游戏中logoutSuccess");
}
});
2.9、退出游戏接口(必接)
});
```
#### 2.9、退出游戏接口(必接)
说明:在游戏需要退出时调用,调用此接口时需先用 PoolSdkHelper.hasExitDialog() 判断 sdk 是否有退出界
面,为 true表示有退出界面需调用 showExitDialog()显示退出界面,为 false 时表示没有退出界面,游戏需自己处
理退出逻辑且在确认 游戏退出前调用 PoolSdkHelper.exitGame 通知 SDK 游戏要退出 (具体可参照 Demo 示例)
2.9.1、方法定义
public static void showExitDialog(final PoolExitDialogListener exitDialogListener)
2.9.2、参数说明
#### 2.9.1、方法定义
```java
public static void showExitDialog(final PoolExitDialogListener exitDialogListener)
```
#### 2.9.2、参数说明
| 参数 | 说明 |
| ------------------ | ------------------------------ |
| exitDialogListener | 退出结果回调监听,需实现 onDialogResult 方法 |
```java
2.9.3、代码示例
@Override
@Override
public boolean dispatchKeyEvent(KeyEvent pKeyEvent) {
if (pKeyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK
&& pKeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
......@@ -379,10 +447,14 @@
}
return super.dispatchKeyEvent(pKeyEvent);
}
2.10、Android 生命周期接口(必接)
```
### 2.10、Android 生命周期接口(必接) ###
说明:在游戏 Activity 的 onStart、onPause、onResume、 onStop、onDestroy、onRestart、onNewIntent、 onActivityResult、onConfigurationChanged、onSaveInstanceState、onRestoreInstanceState、onWindowFocusChanged、onWindowAttributesChanged 中分别调用对应的接口
2.10.1、代码示例
@Override
```java
2.10.1 代码示例
@Override
public void onStart() {
super.onStart();
PoolSdkHelper.onStart();
......@@ -463,8 +535,9 @@
super.onWindowAttributesChanged(params);
PoolSdkHelper.onWindowAttributesChanged(params);
}
2.11、扩展接口(可选)
```
### 2.11、扩展接口(可选) ###
说明:该接口为扩展的万能接口,留作备用,目前游戏方可以不接入
2.11.1、方法定义
public static void expansionInterface(final String paramCustom,final PoolExpansionListener poolExpansionListener)
......@@ -474,43 +547,57 @@
| paramCustom | 自定义参数 |
| poolExpansionListener | 方法回调参数,实现onSuccess方法 |
2.12、获取渠道包标识(可选)
### 2.12、获取渠道包标识(可选) ###
接口名称:PoolSdkHelper.getGameChannelId()
接口说明:获取在企业平台配置的渠道标识,返回类型为 String
接口名称:PoolSdkHelper. getChannelParameter1 ()
接口说明:获取在企业平台配置的渠道参数 1,返回类型为 String
接口名称:PoolSdkHelper. getChannelParameter2 ()
接口说明:获取在企业平台配置的渠道参数 2,返回类型为 String
2.13、获取渠道自定义参数(可选)
### 2.13、获取渠道自定义参数(可选) ###
接口名称:PoolSdkHelper.getCustomValue()
接口说明:获取在企业平台配置的渠道自定义参数,返回类型为 String
2.14、打开论坛接口(UC 平台专用)
### 2.14、打开论坛接口(UC 平台专用) ###
接口名称:PoolSkHelper.openForum()
接口说明:打开渠道的论坛界面
2.15、注销接口
说明:该接口在游戏需要注销账号时调用,注销结果通知到PoolLogoutListener回调中,调用之前先判断是否包含此接口(hasLogout())
2.15.1、方法定义
public static void logout(final Activity paramActivity) ;
2.15.2、参数说明
### 2.15、注销接口 ###
说明:该接口在游戏需要注销账号时调用,注销结果通知到PoolLogoutListener回调中,调用之前先判断是否包含此接口(hasLogout())
#### 2.15.1、方法定义
```java
public static void logout(final Activity paramActivity) ;
```
#### 2.15.2、参数说明
| 参数 | 说明 |
| ------------- | ---- |
| paramActivity | 上下文 |
```java
2.15.3、代码示例
private void logout(){
if(PoolSdkHelper.hasLogout()){
PoolSdkHelper.logout(this);
}
}
2.16、切换账号接口
说明:该接口在游戏切换账号时调用,切换成功回通知到登录监听回调中,调用前请判断是否含有此接口(hasSwitchAccount)
2.16.1、方法定义
public static void switchAccount(final Activity paramActivity);
2.16.2、参数说明
```
### 2.16、切换账号接口
#### 2.16.1、方法定义
```java
public static void switchAccount(final Activity paramActivity);
```
#### 2.16.2、参数说明
| 参数 | 说明 |
| ------------- | ---- |
| paramActivity | 上下文 |
```java
2.16.3、代码示例
/**
* 切换帐号
......@@ -520,11 +607,17 @@
PoolSdkHelper.switchAccount(this);
}
}
```
2.17、聊天统计
说明:在用户发送聊天信息时调用改接口
方法:public static void reportChat(final String content,String type, final String accountId,final String accountName, final int level, final String serverId,final String serverName)
参数说明:
### 2.17、聊天统计 ###
说明:在用户发送聊天信息时调用该接口
```java
public static void reportChat(final String content,String type,final String accountId,final String accountName, final int level, final String serverId,final String serverName)
```
参数说明:
参数 |说明
------------ | -------------
content | 聊天内容
......@@ -551,4 +644,7 @@ serverName | 服务器名称
- 后台配置正确的游戏充值回调地址可以进行充值测试是否到账
# 4、母包 #
4.1、接入公共 SDK 编译生成的 apk 即为打包工具使用的母包(可以删掉assets下的data.bin,libs下的SDK相关so库,YouaiSDK.jar)
```
4.1、接入公共 SDK 编译生成的 apk 即为打包工具使用的母包(接入完成测试通过后 如果需要使用打包工具打渠道包则母包必须删除assets下的公共SDK相关资源, libs下的YouaiSDK.jar,删除接入时manifest中添加的activity)
```
......