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.MarketListener; import com.cy.yyjia.sdk.listener.PayListener; import com.cy.yyjia.sdk.listener.ShareListener; import com.secondworld.sdk.utils.CallBackState; import com.secondworld.sdk.utils.CodeA2U; import com.secondworld.sdk.utils.LogUtil; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; 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 onSuccess(Boolean isNewReg, String reg_type) { LogUtil.e("SdkManager", "注册成功" + " isNewReg:" + isNewReg + " type:" + reg_type); args.clear(); args.put("code", CodeA2U.PlatformRegisterOk); args.put("reg_type", reg_type); UnityMsgHandler.sendMessageToUnity(args); } @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() { } }); //分享回调 SdkManager.getInstance().setShareListener(new ShareListener() { @Override public void onSuccess(String type) { Map args = new HashMap<>(); args.put("code", CodeA2U.ShareState); args.put("state", CallBackState.Success); UnityMsgHandler.sendMessageToUnity(args); LogUtil.debug("分享回调", "onSuccess:" + type); } @Override public void onError(String type, String msg) { Map args = new HashMap<>(); args.put("code", CodeA2U.ShareState); args.put("state", CallBackState.Error); UnityMsgHandler.sendMessageToUnity(args); LogUtil.debug("分享回调", "type:" + type + ";msg:" + msg); } @Override public void onCancel(String type) { Map args = new HashMap<>(); args.put("code", CodeA2U.ShareState); args.put("state", CallBackState.Cancel); UnityMsgHandler.sendMessageToUnity(args); LogUtil.debug("分享回调", type + ":onCancel"); } }); //评分回调 SdkManager.getInstance().setMarketListener(new MarketListener() { @Override public void onSuccess() { Map args = new HashMap<>(); args.put("code", CodeA2U.ReviewState); args.put("state", CallBackState.Success); UnityMsgHandler.sendMessageToUnity(args); LogUtil.debug("评分回调", "成功"); } @Override public void onError(String s) { Map args = new HashMap<>(); args.put("code", CodeA2U.ReviewState); args.put("state", CallBackState.Error); UnityMsgHandler.sendMessageToUnity(args); LogUtil.debug("评分回调", "失败:" + s); } @Override public void onCancel() { Map args = new HashMap<>(); args.put("code", CodeA2U.ReviewState); args.put("state", CallBackState.Cancel); UnityMsgHandler.sendMessageToUnity(args); LogUtil.debug("评分回调", "取消"); } }); //设置dubug模式 SdkManager.getInstance().setDebug(BuildConfig.DEBUG); } }