引入依赖工程
--------------
337SDK Android版本以library工程的形式提供,使用时必须引入核心Lib工程。
.. image:: _static/includelib.jpg
用户模块涉及到Facebook登录部分,所以还需要引入Facebook SDK。下载地址:https://developers.facebook.com/docs/android/
添加权限
--------
需要声明的权限如下: ::
添加Activity、MetaData和其他内容
--------------------------------
需要添加的内容如下: ::
*screenSize添加时如果出现错误,请更改targetSdkVersion为13以上即可*
*com.facebook.sdk.ApplicationId如果不使用默认的220782057940018,可以替换为游戏自己的ID,需要事先将应用secret配置在337的后台*
*如果需要添加的INSTALL_REFERRER的receiver不止一个,可以单独设立一个统一的入口,然后转发给com.web337.android.Tracker*
添加第三方广告推广平台SDK
---------------
具体配置见第三方广告SDK条目
SDK初始化以及重载关键方法
----------------
在主Activity的onCreate中调用::
FuncCore.onCreate(this);
在主Activity的代码中,重载以下方法::
@Override
protected void onDestroy() {
FuncCore.onDestroy(this);
super.onDestroy();
}
@Override
protected void onStart() {
FuncCore.onStart(this);
super.onStart();
}
@Override
protected void onStop() {
FuncCore.onStop(this);
super.onStop();
}
@Override
public void onBackPressed() {
if (FuncCore.onBackPressed(this)) {
return;
} else {
super.onBackPressed();
}
}
接入用户系统
------------
* 实例化一个回调对象: ::
final UserLoginCallback callback = new UserLoginCallback(){
@Override
public void onCancel() {
alert("取消登录");
}
@Override
public void onLoginSuccess(User user, boolean isregister) {
//成功后可以显示一个欢迎提示,玩家可以在此切换账号
UserCore.showWelcome(YourActivity.this);//【可选功能】
if(isregister){
alert("注册成功"+user.getUid());
}else{
alert("登录成功"+user.getUid());
}
}
};
* 调用checkLogin方法: ::
com.web337.android.user.UserCore.checkLogin(Context c, UserLoginCallback callback)
*可以在进入游戏主页面后直接调用,Context传递当前的activity即可,UserLoginCallback传递上一步创建的callback对象*
**调用该方法后只需要关心callback中的两个回调方法即可,若当前无登录用户,则会弹出登录或注册页面,用户登录或注册完成后,会回调。若已经有登录的用户,则直接回调**
设置角色和服信息
------------
在获取到角色的信息和所在服之后,设置一下相应的信息: ::
com.web337.android.id.Zone.getInstance().clear();
com.web337.android.id.Zone.getInstance().setRole_id("roleid00001");
com.web337.android.id.Zone.getInstance().setRole_name("wangxiaoming");
com.web337.android.id.Zone.getInstance().setServer_id("1");
com.web337.android.id.Zone.getInstance().setServer_name("ServerName");
加入行云统计
------------
用户登录完成后,设置完角色信息即可调用: ::
com.web337.android.sdks.XA.send(Context c);
Context传递当前Activity即可
打开浮动窗口
--------------
进入游戏主面板后,打开337的浮动窗口: ::
FuncCore.showFloatWindow(activity);
支付初始化
----------
示例代码如下: ::
//支付Id请联系运营申请
String appid = "xxx@android_tw_1";
PayCore.init(context, appid, new PayCallback(){
@Override
public void onCancel() {
alert("取消支付");
}
@Override
public void onComplete(Order o) {
/*
* 支付完成表明玩家付款成功,但并不表明支付中心回调游戏服务端是成功的
*/
alert("支付完成。"+o.getTransid());
}
@Override
public void onFailed(Msg msg) {
alert("支付失败。"+msg.getMsg());
}
@Override
public void onInitFinish(Msg msg) {
if(msg.isSuccess()){
alert("初始化完成。");
}else{
//初始化出错后,不能调用发起支付的方法
alert("初始化出错。"+msg.getMsg());
}
}});
**初始化涉及网络操作,不建议将此步骤放在用户点击商城的时候**
展示套餐
--------
需要如下三个步骤: ::
//展示套餐,此处套餐均在支付平台后台配置
PayCore.show();
*show()方法支持传递一个自定义字符串,该值最终会作为custom_data参数回调给游戏服务器*
**至此337 SDK接入完成,更多的使用方法可以参考各个模块的文档**