package com.secondworld.sdk;
|
|
import android.app.Activity;
|
import android.widget.Toast;
|
|
import com.appsflyer.AFInAppEventType;
|
import com.cy.yyjia.sdk.center.SdkManager;
|
import com.cy.yyjia.sdk.listener.ChangePasswordListener;
|
import com.cy.yyjia.sdk.listener.ExitGameListener;
|
import com.cy.yyjia.sdk.listener.InitListener;
|
import com.cy.yyjia.sdk.listener.LoginListener;
|
import com.cy.yyjia.sdk.listener.LogoutListener;
|
import com.cy.yyjia.sdk.listener.PayListener;
|
import com.secondworld.sdk.utils.CodeA2U;
|
import com.secondworld.sdk.utils.LogUtil;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.util.HashMap;
|
|
public class MySdkMgr extends PlatformSdkMgr {
|
|
public static MySdkMgr I = new MySdkMgr();
|
|
public void init(Activity activity) {
|
sdkInitState = SdkInitState.LOADING;
|
SdkManager.getInstance().init(activity);
|
}
|
|
public void login() {
|
switch (sdkInitState) {
|
case FAILED:
|
case UNKNOWN: {
|
if (GTGameMain.I.activity != null)
|
init(GTGameMain.I.activity);
|
Toast.makeText(GameApp.I, "正在初始化中,请稍等", Toast.LENGTH_LONG).show();
|
break;
|
}
|
case SUCCEED: {
|
SdkManager.getInstance().login();
|
break;
|
}
|
case LOADING: {
|
Toast.makeText(GameApp.I, "正在初始化中,请稍等", Toast.LENGTH_LONG).show();
|
break;
|
}
|
}
|
}
|
|
public void setListener() {
|
args = new HashMap<>();
|
// 初始化监听
|
SdkManager.getInstance().setInitListener(new InitListener() {
|
@Override
|
public void onSuccess() {
|
sdkInitState = SdkInitState.SUCCEED;
|
LogUtil.debug("SdkManager", "初始化成功");
|
args.clear();
|
args.put("code", CodeA2U.PlatformInitOk);
|
UnityMsgHandler.sendMessageToUnity(args);
|
}
|
|
@Override
|
public void onError(String msg) {
|
sdkInitState = SdkInitState.FAILED;
|
LogUtil.e("SdkManager", "初始化失败:" + msg);
|
args.clear();
|
args.put("code", CodeA2U.PlatformInitFail);
|
UnityMsgHandler.sendMessageToUnity(args);
|
}
|
});
|
|
// 登录监听
|
SdkManager.getInstance().setLoginListener(new LoginListener() {
|
@Override
|
public void onSuccess() {
|
LogUtil.e("SdkManager", "登录成功");
|
try {
|
args.clear();
|
JSONObject info = new JSONObject();
|
info.put("account", SdkManager.getInstance().getUid());
|
info.put("game_id", SdkManager.getInstance().getGameId());
|
info.put("session_id", SdkManager.getInstance().getSessionId());
|
|
args.put("code", CodeA2U.PlatformLoginOk);
|
args.put("info", info);
|
UnityMsgHandler.sendMessageToUnity(args);
|
} catch (JSONException e) {
|
e.printStackTrace();
|
LogUtil.e("SdkManager 登录成功", e);
|
}
|
}
|
|
@Override
|
public void onError(String s) {
|
LogUtil.e("SdkManager", "登录失败:" + s);
|
args.clear();
|
args.put("code", CodeA2U.PlatformLoginFail);
|
UnityMsgHandler.sendMessageToUnity(args);
|
}
|
|
@Override
|
public void onCancel() {
|
args.clear();
|
args.put("code", CodeA2U.PlatformLoginFail);
|
UnityMsgHandler.sendMessageToUnity(args);
|
}
|
});
|
|
//支付监听
|
SdkManager.getInstance().setPayListener(new PayListener() {
|
@Override
|
public void onSuccess(String status, String orderId) {
|
LogUtil.debug("SdkManager", "onSuccess status:" + status + ",orderId:" + orderId);
|
}
|
|
@Override
|
public void onError() {
|
LogUtil.e("SdkManager", "onError");
|
}
|
|
@Override
|
public void onCancel() {
|
LogUtil.debug("SdkManager", "onCancel");
|
}
|
});
|
|
|
// 账号注销监听
|
SdkManager.getInstance().setLogoutListener(new LogoutListener() {
|
|
@Override
|
public void onSuccess() {
|
//注销成功,需要把游戏切换回登陆前的场景,并重新弹出登录框等操作
|
args.clear();
|
args.put("code", CodeA2U.PlatformLogoutOk);
|
UnityMsgHandler.sendMessageToUnity(args);
|
}
|
|
@Override
|
public void onError() {
|
}
|
|
@Override
|
public void onCancel() {
|
}
|
});
|
|
//游戏退出监听
|
SdkManager.getInstance().setExitGameListener(new ExitGameListener() {
|
@Override
|
public void onCancel() {
|
LogUtil.debug("游戏退出监听", "onCancel");
|
}
|
|
@Override
|
public void onSuccess() {
|
LogUtil.debug("游戏退出监听", "onSuccess");
|
}
|
});
|
|
//修改密码监听
|
SdkManager.getInstance().setChangePasswordListener(new ChangePasswordListener() {
|
@Override
|
public void onError() {
|
}
|
|
@Override
|
public void onSuccess() {
|
}
|
});
|
|
//设置dubug模式
|
SdkManager.getInstance().setDebug(BuildConfig.DEBUG);
|
}
|
|
}
|