package com.secondworld.sdk;
|
|
import android.app.Activity;
|
import android.widget.Toast;
|
|
import com.maiyou.maiysdk.Manager.MaiySDKManager;
|
import com.maiyou.maiysdk.interfaces.LoginErrorMsg;
|
import com.maiyou.maiysdk.interfaces.LogincallBack;
|
import com.maiyou.maiysdk.interfaces.OnLoginListener;
|
import com.maiyou.maiysdk.interfaces.OnPaymentListener;
|
import com.maiyou.maiysdk.interfaces.OnReportedDataListener;
|
import com.maiyou.maiysdk.interfaces.PaymentCallbackInfo;
|
import com.maiyou.maiysdk.interfaces.PaymentErrorMsg;
|
import com.maiyou.maiysdk.interfaces.PersonalCenterCallBack;
|
import com.maiyou.maiysdk.interfaces.ReporteErrorMsg;
|
import com.maiyou.maiysdk.interfaces.ReportedDataCallback;
|
import com.maiyou.maiysdk.util.MD5;
|
import com.maiyou.maiysdk.util.ResourceUtil;
|
import com.secondworld.sdk.utils.CodeA2U;
|
import com.secondworld.sdk.utils.LogUtil;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
public class MySdkMgr extends PlatformSdkMgr {
|
private static final String TAG = MySdkMgr.class.getSimpleName();
|
public static MySdkMgr I = new MySdkMgr();
|
MaiySDKManager miluSDKManager;
|
|
public void init(Activity activity) {
|
sdkInitState = SdkInitState.LOADING;
|
|
}
|
|
public void OnCreate(Activity activity) {
|
sdkInitState = SdkInitState.LOADING;
|
MaiySDKManager.init(activity);
|
miluSDKManager = MaiySDKManager.getInstance(activity);
|
}
|
|
|
public void login() {
|
|
switch (sdkInitState) {
|
case FAILED:
|
case UNKNOWN: {
|
if (GTGameMain.I.activity != null)
|
init(GTGameMain.I.activity);
|
Toast.makeText(GameAppProxy.app, "Initializing", Toast.LENGTH_LONG).show();
|
break;
|
}
|
case SUCCEED: {
|
//sdk初始化后调用登陆接口
|
miluSDKManager.showLogin(new OnLoginListener() {
|
@Override
|
public void loginSuccess(LogincallBack logincallback) {
|
LogUtil.i(TAG, "登陆成功进入游戏回传参数:" +
|
"--altUsername=" + logincallback.altUsername +
|
"--logintime=" + logincallback.logintime +
|
"--sign=" + logincallback.sign);
|
|
//请游戏对接方在登陆成功后调用此方法
|
LogOutInitialize();
|
|
String account = logincallback.altUsername + "@9998"; //quick有渠道之分,避免账号重复,咪噜只有唯一渠道此处写死@9998是为了游戏保持一致
|
try {
|
args.clear();
|
JSONObject jinfo = new JSONObject();
|
jinfo.put("account", account);
|
jinfo.put("userName", logincallback.altUsername);
|
jinfo.put("token", logincallback.sign);
|
|
args.put("info", jinfo);
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginOk, args);
|
} catch (JSONException e) {
|
throw new RuntimeException(e);
|
}
|
|
}
|
|
@Override
|
public void loginError(LoginErrorMsg errorMsg) {
|
}
|
});
|
break;
|
}
|
case LOADING: {
|
Toast.makeText(GameAppProxy.app, "Initializing", Toast.LENGTH_LONG).show();
|
break;
|
}
|
}
|
}
|
|
public void SetRoleDate(String roleID, String roleName, String level, String serverID, String serverName) {
|
//上报角色信息
|
miluSDKManager.setRoleDate(roleID, roleName, level, serverID, serverName, new OnReportedDataListener() {
|
@Override
|
public void reporteSuccess(ReportedDataCallback reportedDataCallback) {
|
LogUtil.i(TAG, reportedDataCallback.message);
|
}
|
|
@Override
|
public void reporteError(ReporteErrorMsg reporteErrorMsg) {
|
LogUtil.i(TAG, reporteErrorMsg.message);
|
}
|
});
|
}
|
|
public void LogOutInitialize() {
|
GameActivityProxy.I.activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
//退出登录的回调监听
|
miluSDKManager.logout(new PersonalCenterCallBack() {
|
@Override
|
public void getCallBack() {
|
//请在此处做游戏退出到登录页面的操作
|
//注销成功,需要把游戏切换回登陆前的场景,并重新弹出登录框等操作
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
|
}
|
});
|
}
|
});
|
|
}
|
|
|
public void pay(String roleID, String money, String serverID, String productID, String productName, String Extra) {
|
|
LogUtil.i(TAG, "调起充值:roleID-" + roleID +
|
" money-" + money +
|
" serverID-" + serverID +
|
" productID-" + productID +
|
" productName-" + productName +
|
" Extra-" + Extra);
|
GameActivityProxy.I.activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
miluSDKManager.showPay(GTGameMain.I.activity, money, productID, roleID, productName, productName, serverID, Extra,
|
new OnPaymentListener() {
|
@Override
|
public void paymentSuccess(PaymentCallbackInfo callbackInfo) {
|
//H5支付回调不准,请自行查询
|
}
|
|
@Override
|
public void paymentError(PaymentErrorMsg errorMsg) {
|
//H5支付回调不准,请自行查询
|
}
|
});
|
}
|
});
|
|
}
|
|
public void onResume() {
|
GameActivityProxy.I.activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
//显示悬浮窗
|
if (null != miluSDKManager) {
|
miluSDKManager.showFloatball();
|
}
|
}
|
});
|
|
}
|
|
public void onStop() {
|
GameActivityProxy.I.activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
//隐藏悬浮窗
|
if (null != miluSDKManager) {
|
miluSDKManager.hideFloatball();
|
}
|
}
|
});
|
}
|
|
public void onDestroy() {
|
//退出登录、退出游戏调用
|
miluSDKManager.recycle();
|
}
|
}
|