上文中已介绍了环境与软件的安装配置(https://my.oschina.net/u/3024661/blog/881141),之后我们就可以开始学习接入渠道了,
UC已和豌斗夹渠道合并,改名叫阿里游戏
我这边演示用DEMO的下载的为融合版,看一下下载下来后有些什么东西吧
具体里面的东西如何使用,我们晚点正说
在接入之前,需先在渠道后台创建游戏,获取一些接入参数。
客户端所需要参数包括:cpId、gameId、serverId。参数基本是初始化时所需要传入的参数。
准备工作做为,正式开始接入,首先肯定是把所需要的资源如JAR包之类的复制到我的工程中去。
我这边的接入环境是Eclipse
那首先我们得先创建一个demo工程,打开我们的Eclipse,新建一个工程,名为demo
创建完成之后如下图,会发现我们左侧栏会有两个新工程
很明显现在是有问题的,有两个大大的感叹号,那有些东西我们是不需要的,就直接大胆的delete掉
,先删除appcompat v7 选中appcompat v7按delete键,记得打勾如下图红色标记处,然后按确定
现在我们发现打叉叉的地方有这几个地方
首先我们去values里面把错误的地方删除
之后我们发现错误的地方只有一处了
我们双击MainActivity.java打开这个类
然后我们把除了第一行外所有的代码都删除,之后我会把整个类的代码写在后面,大家只需要把整个类的代码复制进这个类里就行
然后我们clean我们的工程,选中demo
然后把下图中红框里的三个目录都delete删除
同样重复刚刚的步骤,clean我们的工程
同样打开下图中报错的文件
删除文字下方带红色波浪线的
再次clean一下我们的demo工程后发现没有地方再报错了
打开我们下载好解压出来的文档目录找到所需要依赖的JAR包
红框所示就是我们Eclipse所需要的jar包了。
把alipay.jar复制到我们工程的libs目录下就行。
.arr是studio中用的类似于Eclipse的.jar,但其中整合了其他资源,所以,我们需要把arr文件的后缀名改成rar或者zip把的解压出来获取我们需要的资源文件。
然后解压
解压出来的目录格式:
其中,我们需要是上图中两个红框中的。
把ucgamesdk.jar复制到我们工程的libs目录下
把assets目录下的所有文件复制到我们工程的assets目录下。
至此,我们已经把所有需要的东西都复制到了我们的工程中,clean 一下我们的demo工程,接下来个上代码了。
首先我们打开我们工程的AndroidManifest.xml文件。
然后复制以下代码
然后到我们demo工程的AndroidManifest.xml全选替换粘贴
以上AndroidManifest.xml修改好了。
做完以上步骤,接下来,我们开始接入SDK的接口。
首先打开我们的MainActivity.java
刚刚我让大家把这个文件里的代码都删了,现在应该除了第一行是没有东西的,然后把下面的代码复制进去,注意别把第一行的代码覆盖了。
-
import android.app.Activity;
-
-
import android.os.Bundle;
-
-
import android.util.Log;
-
-
import cn.uc.gamesdk.UCGameSdk;
-
-
import cn.uc.gamesdk.even.SDKEventKey;
-
-
import cn.uc.gamesdk.even.SDKEventReceiver;
-
-
import cn.uc.gamesdk.even.Subscribe;
-
-
import cn.uc.gamesdk.exception.AliLackActivityException;
-
-
import cn.uc.gamesdk.exception.AliNotInitException;
-
-
import cn.uc.gamesdk.open.GameParamInfo;
-
-
import cn.uc.gamesdk.open.OrderInfo;
-
-
import cn.uc.gamesdk.open.UCLogLevel;
-
-
import cn.uc.gamesdk.open.UCOrientation;
-
-
import cn.uc.gamesdk.param.SDKParamKey;
-
-
import cn.uc.gamesdk.param.SDKParams;
-
-
-
-
public class MainActivity extends Activity {
-
-
-
-
final static String TAG = "demo";
-
-
UCGameSdk sdk;
-
-
int cpId = 0;
-
-
int gameId = 0;
-
-
int serverId = 0;
-
-
-
-
@Override
-
-
protected void onCreate(Bundle savedInstanceState) {
-
-
// TODO Auto-generated method stub
-
-
super.onCreate(savedInstanceState);
-
-
setContentView(R.layout.activity_main);
-
-
UCGameSdk.defaultSdk().registeSDKEventReceiver(eventReceiver);
-
-
}
-
-
-
-
@Override
-
-
protected void onDestroy() {
-
-
// TODO Auto-generated method stub
-
-
super.onDestroy();
-
-
UCGameSdk.defaultSdk().unregisterSDKEventReceiver(eventReceiver);
-
-
sdk = UCGameSdk.defaultSdk();
-
-
}
-
-
-
-
private void init() {
-
-
// TODO Auto-generated method stub
-
-
GameParamInfo gameParamInfo = new GameParamInfo();
-
-
gameParamInfo.setCpId(cpId);// 上文提到的游戏参数 参数类型int
-
-
gameParamInfo.setGameId(gameId);// 上文提到的游戏参数 参数类型int
-
-
gameParamInfo.setServerId(serverId);// 上文提到的游戏参数 参数类型int
-
-
// 设置是否支持查询充值历史和显示切换账号功能,
-
-
// 如果不设置,默认具有查询充值历史记录,不具有切换账户功能
-
-
gameParamInfo.setEnablePayHistory(true);// 开启查询充值历史功能
-
-
gameParamInfo.setEnableUserChange(true);// 开启账号切换功能
-
-
// 设置SDK屏幕方向
-
-
// LANDSCAPE:横屏,横屏游戏必须设置为横屏,PORTRAIT:竖屏
-
-
gameParamInfo.setOrientation(UCOrientation.PORTRAIT);
-
-
-
-
SDKParams sdkParams = new SDKParams();
-
-
sdkParams.put(SDKParamKey.LOG_LEVEL, UCLogLevel.DEBUG);// 日志等级
-
-
sdkParams.put(SDKParamKey.GAME_PARAMS, gameParamInfo);
-
-
// FIXME always debug
-
-
// 是否打开调试模式。
-
-
// 在为true的时候,会连接到联调测试环境(sdk.test4.9game.cn),
-
-
// 当为false的时候则会连接到正式环境(sdk.g.9game.cn)。
-
-
sdkParams.put(SDKParamKey.DEBUG_MODE, false);
-
-
-
-
try {
-
-
sdk.initSdk(MainActivity.this, sdkParams);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
-
-
-
-
private void login() {
-
-
try {
-
-
sdk.login(MainActivity.this, null);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block activity为空,异常处理
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block 未初始化,异常处理
-
-
e.printStackTrace();
-
-
}
-
-
}
-
-
-
-
private void pay() {
-
-
SDKParams sdkParams = new SDKParams();
-
-
sdkParams.put(SDKParamKey.CALLBACK_INFO, "{\"test\":true}");
-
-
sdkParams.put(SDKParamKey.SERVER_ID, "1");
-
-
sdkParams.put(SDKParamKey.ROLE_ID, "AAA");
-
-
sdkParams.put(SDKParamKey.ROLE_NAME, "BBB");
-
-
sdkParams.put(SDKParamKey.GRADE, "grade1");
-
-
sdkParams.put(SDKParamKey.NOTIFY_URL, "");
-
-
sdkParams.put(SDKParamKey.AMOUNT, "2.33");
-
-
sdkParams.put(SDKParamKey.CP_ORDER_ID, "20160000101001");
-
-
sdkParams.put(SDKParamKey.ACCOUNT_ID, "123");
-
-
sdkParams.put(SDKParamKey.SIGN_TYPE, "MD5");
-
-
sdkParams.put(SDKParamKey.SIGN, "游戏服务器根据以上信息签名后的结果");
-
-
// 以上字段的值都需要由游戏服务器生成
-
-
-
-
try {
-
-
UCGameSdk.defaultSdk().pay(MainActivity.this, sdkParams);
-
-
} catch (IllegalArgumentException e) {
-
-
// TODO Auto-generated catch block 参数错
-
-
e.printStackTrace();
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block activity null
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block 未初始化
-
-
e.printStackTrace();
-
-
}
-
-
}
-
-
-
-
private void sendUserInfo() {
-
-
SDKParams sdkParams = new SDKParams();
-
-
sdkParams.put(SDKParamKey.STRING_ROLE_ID, "roleId");
-
-
sdkParams.put(SDKParamKey.STRING_ROLE_NAME, "roleName");
-
-
sdkParams.put(SDKParamKey.LONG_ROLE_LEVEL, 1);
-
-
sdkParams.put(SDKParamKey.STRING_ZONE_ID, "zoneId");
-
-
sdkParams.put(SDKParamKey.STRING_ZONE_NAME, "serverId");
-
-
sdkParams.put(SDKParamKey.LONG_ROLE_CTIME, 1456397360);
-
-
try {
-
-
sdk.submitRoleData(MainActivity.this, sdkParams);
-
-
} catch (IllegalArgumentException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
-
-
-
-
private void logout(){
-
-
try {
-
-
sdk.logout(MainActivity.this, null);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
-
-
-
-
private void exit() {
-
-
try {
-
-
sdk.exit(MainActivity.this, null);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
-
-
-
-
-
-
SDKEventReceiver eventReceiver = new SDKEventReceiver() {
-
-
@Subscribe(event = SDKEventKey.ON_INIT_SUCC)
-
-
private void onInitSucc() {
-
-
// 初始化成功
-
-
Log.d(TAG, "init success");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_INIT_FAILED)
-
-
private void onInitFailed(String data) {
-
-
// 初始化失败
-
-
Log.d(TAG, "init failed:" + data);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGIN_SUCC)
-
-
private void onLoginSucc(String sid) {
-
-
// 登录成功
-
-
// sid为用户的登录会话标识,用于给游戏服务器校验用户登录状态使用。
-
-
Log.d(TAG, "login success:sid:" + sid);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGIN_FAILED)
-
-
private void onLoginFailed(String desc) {
-
-
// 登录失败
-
-
Log.d(TAG, "login failed:" + desc);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGOUT_SUCC)
-
-
private void onLogoutSucc() {
-
-
// 登出成功
-
-
Log.d(TAG, "logout success");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGOUT_FAILED)
-
-
private void onLogoutFailed() {
-
-
// 登出失败
-
-
Log.d(TAG, "logout failed");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_EXIT_SUCC)
-
-
private void onExit(String desc) {
-
-
// 退出游戏
-
-
Log.d(TAG, "exit:" + desc);
-
-
-
-
MainActivity.this.finish();
-
-
System.exit(0);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_EXIT_CANCELED)
-
-
private void onExitCanceled(String desc) {
-
-
// 取消退出
-
-
Log.d(TAG, "exit cancel:" + desc);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_CREATE_ORDER_SUCC)
-
-
private void onCreateOrderSucc(OrderInfo orderInfo) {
-
-
// 支付成功
-
-
if (orderInfo != null) {
-
-
String txt = orderInfo.getOrderAmount() + ","
-
-
+ orderInfo.getOrderId() + "," + orderInfo.getPayWay();
-
-
Log.d(TAG, "充值成功: " + txt + "\n");
-
-
}
-
-
Log.i(TAG, "pay succ");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_PAY_USER_EXIT)
-
-
private void onPayUserExit(OrderInfo orderInfo) {
-
-
// 支付失败
-
-
if (orderInfo != null) {
-
-
String txt = orderInfo.getOrderAmount() + ","
-
-
+ orderInfo.getOrderId() + "," + orderInfo.getPayWay();
-
-
Log.d(TAG, "充值失败: " + txt + "\n");
-
-
}
-
-
Log.i(TAG, "pay fail");
-
-
}
-
-
-
-
};
-
-
-
-
}
至此我们就把所有UC上线所需的接口完成了,添加UI并添加相应事件调用相应接口后,就是一个最简单的demo了
如果想要了解具体的接口作用,和相应参数的说明,请继续阅读以下内容,或查看官方文档
第一种步创建监听:
-
SDKEventReceiver eventReceiver = new SDKEventReceiver() {
-
-
@Subscribe(event = SDKEventKey.ON_INIT_SUCC)
-
-
private void onInitSucc() {
-
-
// 初始化成功
-
-
Log.d(tag, "init success");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_INIT_FAILED)
-
-
private void onInitFailed(String data) {
-
-
// 初始化失败
-
-
Log.d(tag, "init failed:" + data);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGIN_SUCC)
-
-
private void onLoginSucc(String sid) {
-
-
// 登录成功
-
-
// sid为用户的登录会话标识,用于给游戏服务器校验用户登录状态使用。
-
-
Log.d(tag, "login success:sid:" + sid);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGIN_FAILED)
-
-
private void onLoginFailed(String desc) {
-
-
// 登录失败
-
-
Log.d(tag, "login failed:" + desc);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGOUT_SUCC)
-
-
private void onLogoutSucc() {
-
-
// 登出成功
-
-
Log.d(tag, "logout success");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_LOGOUT_FAILED)
-
-
private void onLogoutFailed() {
-
-
// 登出失败
-
-
Log.d(tag, "logout failed");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_EXIT_SUCC)
-
-
private void onExit(String desc) {
-
-
// 退出游戏
-
-
Log.d(tag, "exit:" + desc);
-
-
-
-
MainActivity.this.finish();
-
-
System.exit(0);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_EXIT_CANCELED)
-
-
private void onExitCanceled(String desc) {
-
-
// 取消退出
-
-
Log.d(tag, "exit cancel:" + desc);
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_CREATE_ORDER_SUCC)
-
-
private void onCreateOrderSucc(OrderInfo orderInfo) {
-
-
// 支付成功
-
-
if (orderInfo != null) {
-
-
String txt = orderInfo.getOrderAmount() + ","
-
-
+ orderInfo.getOrderId() + "," + orderInfo.getPayWay();
-
-
Log.d(tag, "充值成功: " + txt + "\n");
-
-
}
-
-
Log.i(tag, "pay succ");
-
-
}
-
-
-
-
@Subscribe(event = SDKEventKey.ON_PAY_USER_EXIT)
-
-
private void onPayUserExit(OrderInfo orderInfo) {
-
-
// 支付失败
-
-
if (orderInfo != null) {
-
-
String txt = orderInfo.getOrderAmount() + ","
-
-
+ orderInfo.getOrderId() + "," + orderInfo.getPayWay();
-
-
Log.d(tag, "充值失败: " + txt + "\n");
-
-
}
-
-
Log.i(tag, "pay fail");
-
-
}
-
-
-
-
};
监听创建完成后,需要在Activity onCreate中注册,并在Activity onDestroy中注销:
注册:UCGameSdk.defaultSdk().registeSDKEventReceiver(eventReceiver);
-
@Override
-
-
protected void onCreate(Bundle savedInstanceState) {
-
-
// TODO Auto-generated method stub
-
-
super.onCreate(savedInstanceState);
-
-
setContentView(R.layout.activity_main);
-
-
UCGameSdk.defaultSdk().registeSDKEventReceiver(eventReceiver);
-
-
}
注销:UCGameSdk.defaultSdk().unregisterSDKEventReceiver(eventReceiver);
-
@Override
-
-
protected void onDestroy() {
-
-
// TODO Auto-generated method stub
-
-
super.onDestroy();
-
-
UCGameSdk.defaultSdk().unregisterSDKEventReceiver(eventReceiver);
-
-
}
这样在相应操作之后,UC的SDK就能给你回调了,在相应回调方法内,做自己游戏相应操作就行
第二步初始化:
首先定义一个全局变量:UCGameSdk sdk;
并在Activity onCreate中获取对象:sdk = UCGameSdk.defaultSdk();
之后就在Activity onCreate中调用UC的初始化接口:
-
private void init() {
-
-
// TODO Auto-generated method stub
-
-
GameParamInfo gameParamInfo = new GameParamInfo();
-
-
gameParamInfo.setCpId(cpId);//上文提到的游戏参数 参数类型int
-
-
gameParamInfo.setGameId(gameId);//上文提到的游戏参数 参数类型int
-
-
gameParamInfo.setServerId(serverId);//上文提到的游戏参数 参数类型int
-
-
//设置是否支持查询充值历史和显示切换账号功能,
-
-
//如果不设置,默认具有查询充值历史记录,不具有切换账户功能
-
-
gameParamInfo.setEnablePayHistory(true);//开启查询充值历史功能
-
-
gameParamInfo.setEnableUserChange(true);//开启账号切换功能
-
-
//设置SDK屏幕方向
-
-
//LANDSCAPE:横屏,横屏游戏必须设置为横屏,PORTRAIT:竖屏
-
-
gameParamInfo.setOrientation(UCOrientation.PORTRAIT);
-
-
-
-
SDKParams sdkParams = new SDKParams();
-
-
sdkParams.put(SDKParamKey.LOG_LEVEL, UCLogLevel.DEBUG);//日志等级
-
-
sdkParams.put(SDKParamKey.GAME_PARAMS, gameParamInfo);
-
-
//FIXME always debug
-
-
//是否打开调试模式。
-
-
//在为true的时候,会连接到联调测试环境(sdk.test4.9game.cn),
-
-
//当为false的时候则会连接到正式环境(sdk.g.9game.cn)。
-
-
sdkParams.put(SDKParamKey.DEBUG_MODE, false);
-
-
-
-
try {
-
-
sdk.initSdk(MainActivity.this, sdkParams);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
调用登录接口:
-
private void login() {
-
-
try {
-
-
sdk.login(MainActivity.this, null);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block activity为空,异常处理
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block 未初始化,异常处理
-
-
e.printStackTrace();
-
-
}
-
-
}
调用支付接口:
-
private void pay() {
-
-
SDKParams sdkParams = new SDKParams();
-
-
sdkParams.put(SDKParamKey.CALLBACK_INFO, "{\"test\":true}");
-
-
sdkParams.put(SDKParamKey.SERVER_ID, "1");
-
-
sdkParams.put(SDKParamKey.ROLE_ID, "AAA");
-
-
sdkParams.put(SDKParamKey.ROLE_NAME, "BBB");
-
-
sdkParams.put(SDKParamKey.GRADE, "grade1");
-
-
sdkParams.put(SDKParamKey.NOTIFY_URL, "");
-
-
sdkParams.put(SDKParamKey.AMOUNT, "2.33");
-
-
sdkParams.put(SDKParamKey.CP_ORDER_ID, "20160000101001");
-
-
sdkParams.put(SDKParamKey.ACCOUNT_ID, "123");
-
-
sdkParams.put(SDKParamKey.SIGN_TYPE, "MD5");
-
-
sdkParams.put(SDKParamKey.SIGN, "游戏服务器根据以上信息签名后的结果");
-
-
// 以上字段的值都需要由游戏服务器生成
-
-
-
-
try {
-
-
UCGameSdk.defaultSdk().pay(MainActivity.this, sdkParams);
-
-
} catch (IllegalArgumentException e) {
-
-
// TODO Auto-generated catch block 参数错
-
-
e.printStackTrace();
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block activity null
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block 未初始化
-
-
e.printStackTrace();
-
-
}
-
-
}
参数说明:
参数定义
|
参数名称
|
类型
|
是否必填
|
说明
|
ROLE_ID
|
roleId
|
String
|
否
|
角色ID
|
ROLE_NAME
|
roleName
|
String
|
否
|
角色名称
|
GRADE
|
grade
|
String
|
否
|
角色等级
|
CALLBACK_INFO
|
callbackInfo
|
String
|
否
|
cp自定义信息,在支付结果通知时回传,CP可以自己定义格式,长度不超过250
|
AMOUNT
|
amount
|
String
|
是
|
充值金额,如果传递为0表示用户可以自定义充值金额,保留小数点后2位,单位为元。例:10.00
|
SERVER_ID
|
serverId
|
String
|
否
|
服务器ID,默认为0
|
NOTIFY_URL
|
notifyUrl
|
String
|
否
|
服务器通知地址,如果为空以服务端配置地址作为通知地址,长度不超过100
|
CP_ORDER_ID
|
cpOrderId
|
String
|
否
|
cp充值订单号,需要保证用户每次充值订单号的唯一性,长度不超过30
|
ACCOUNT_ID
|
accountId
|
String
|
是
|
用户id,充值用户的统一账号ID,由阿里游戏平台生成。
|
SIGN_TYPE
|
signType
|
String
|
是
|
签名类型,MD5或者RSA
目前只支持MD5
|
SIGN
|
sign
|
String
|
是
|
签名结果。
MD5(签名内容+apiKey); 服务端生成
签名算法参考官方说明
|
接入提交游戏角色数据信息:
数据提交时机:
1、用户创建角色或已有角色进入游戏后
2、当用户的角色等级发生变化后
-
private void sendUserInfo() {
-
-
SDKParams sdkParams = new SDKParams();
-
-
sdkParams.put(SDKParamKey.STRING_ROLE_ID, "roleId");
-
-
sdkParams.put(SDKParamKey.STRING_ROLE_NAME, "roleName");
-
-
sdkParams.put(SDKParamKey.LONG_ROLE_LEVEL, 1);
-
-
sdkParams.put(SDKParamKey.STRING_ZONE_ID, "zoneId");
-
-
sdkParams.put(SDKParamKey.STRING_ZONE_NAME, "serverId");
-
-
sdkParams.put(SDKParamKey.LONG_ROLE_CTIME, 1456397360);
-
-
try {
-
-
sdk.submitRoleData(MainActivity.this, sdkParams);
-
-
} catch (IllegalArgumentException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
参数说明:
参数定义
|
参数名称
|
类型
|
是否必填
|
说明
|
STRING_ROLE_ID
|
roleId
|
String
|
是
|
角色ID,长度不超过50
|
STRING_ROLE_NAME
|
roleName
|
String
|
是
|
角色名称,长度不超过50
|
LONG_ROLE_LEVEL
|
roleLevel
|
Long
|
是
|
角色等级,长度不超过10
|
LONG_ROLE_CTIME
|
roleCTime
|
Long
|
是
|
角色创建时间(单位:秒),长度10,获取服务器存储的时间,不可用手机本地时间
|
STRING_ZONE_ID
|
zoneId
|
String
|
是
|
区服ID,长度不超过50
|
STRING_ZONE_NAME
|
zoneName
|
String
|
是
|
区服名称,长度不超过50
|
登出与退出:登出为注销当前账号,游戏应返回登陆界面,退出为关闭游戏。
接入登出接口:
-
private void logout(){
-
-
try {
-
-
sdk.logout(MainActivity.this, null);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
接入退出接口:
-
private void exit() {
-
-
try {
-
-
sdk.exit(MainActivity.this, null);
-
-
} catch (AliLackActivityException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
} catch (AliNotInitException e) {
-
-
// TODO Auto-generated catch block
-
-
e.printStackTrace();
-
-
}
-
-
}
? 代码混淆要求
如果游戏发布时采用proguard进行代码混淆,请在proguard配置文件加入以下代码,以避免对SDK进行混淆,否则会造成SDK部分功能不正常。
-
-libraryjars './libs/alipay_sdk.jar'
-
-
-libraryjars './libs/ucgamesdk.jar'
-
-
-
-
-keep class android.**{
-
-
<methods>;
-
-
<fields>;
-
-
}
-
-
-keep class cn.uc.**{
-
-
<methods>;
-
-
<fields>;
-
-
}
-
-
-keep class com.alipay.**{
-
-
<methods>;
-
<fields>;
-
}
-
-
-keep class com.ta.**{
-
-
<methods>;
-
<fields>;
-
}
-
-
-keep class com.ut.**{
-
<methods>;
-
<fields>;
-
}
-
-
-keep class org.json. **{
-
<methods>;
-
<fields>;
-
}
到这里就是接入完毕了,添加相应UI控件出包就是一个接入渠道的demo了,如果和游戏交互完成服务端接入完成,打包后就是成品啦,clean后到bin下面找 .apk包吧。
如果想了解更多,请联系我们或关注官网
了解更多:www.typesdk.com
问题解答:1771930259
联系邮箱:qianyuzhou@typesdk.com
项目地址:https://github.com/typesdk
阅读(1223) | 评论(0) | 转发(0) |