Channel/Android/gtgame/debug/libs/library-debug-gtgame.aarBinary files differ
Channel/Android/gtgame/deps.gradle
File was deleted Channel/Android/gtgame/release/libs/library-release-gtgame.aarBinary files differ
Channel/Android/test/debug/libs/library-debug-test.aarBinary files differ
Channel/Android/test/deps.gradle
File was deleted Channel/Android/test/release/libs/library-release-test.aarBinary files differ
SdkProject/app/src/main/java/com/secondworld/demo/MainActivity.java
@@ -4,6 +4,7 @@ import android.os.Bundle; import android.support.annotation.NonNull; import com.secondworld.sdk.GTGameApp; import com.secondworld.sdk.GameActivityProxy; import com.secondworld.sdk.UnityMsgHandler; import com.secondworld.sdk.utils.CodeU2A; @@ -37,7 +38,12 @@ e.printStackTrace(); LogUtil.e("GameActivity", e); } findViewById(R.id.btnInit).setOnClickListener((v -> addEvent(); } private void addEvent() { findViewById(R.id.login).setOnClickListener((v -> { JSONObject json = new JSONObject(); try { @@ -47,8 +53,23 @@ } UnityMsgHandler.onUnityMessage(json.toString()); })); } findViewById(R.id.pay).setOnClickListener((v -> { JSONObject json = new JSONObject(); try { json.put("code", CodeU2A.PlatformPay); json.put("cpInfo", System.currentTimeMillis()/1000+""); json.put("orderId", System.currentTimeMillis()/1000+""); json.put("sid", "1"); json.put("roleID","test_role"); json.put("title","goods_100"); json.put("mount","0.01"); } catch (JSONException e) { e.printStackTrace(); } UnityMsgHandler.onUnityMessage(json.toString()); })); } @Override protected void onStart() { super.onStart(); SdkProject/app/src/main/res/layout/activity_main.xml
@@ -8,10 +8,17 @@ android:gravity="center"> <Button android:id="@+id/btnInit" android:id="@+id/login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="init" /> android:text="login" /> <Button android:id="@+id/pay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="pay" /> </LinearLayout> SdkProject/channel/GTGame/AndroidManifest.xml
@@ -18,6 +18,7 @@ <application android:name=".GTGameApp" android:requestLegacyExternalStorage="true" android:usesCleartextTraffic="true" tools:replace="android:name"> <meta-data @@ -67,7 +68,7 @@ <provider android:name="android.support.v4.content.FileProvider" android:authorities="工程包名.fileprovider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> SdkProject/channel/GTGame/java/com/secondworld/sdk/GTGamePlatform.java
New file @@ -0,0 +1,9 @@ package com.secondworld.sdk; public class GTGamePlatform extends PlatformDiff { @Override public String platformName() { return "sanxia"; } } SdkProject/channel/GTGame/java/com/secondworld/sdk/MySdkMgr.java
New file @@ -0,0 +1,163 @@ package com.secondworld.sdk; import android.app.Activity; import android.widget.Toast; 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 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(); } } } 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() { args.clear(); args.put("code", CodeA2U.PlatformLoginOk); args.put("account", SdkManager.getInstance().getUid()); args.put("game_id", SdkManager.getInstance().getGameId()); args.put("session_id", SdkManager.getInstance().getSessionId()); UnityMsgHandler.sendMessageToUnity(args); } @Override public void onError(String 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); } } SdkProject/channel/GTGame/java/com/secondworld/sdk/command/CmdCreateRole.java
New file @@ -0,0 +1,23 @@ package com.secondworld.sdk.command; import com.cy.yyjia.sdk.center.SdkManager; import com.secondworld.sdk.utils.CodeU2A; import org.json.JSONObject; public class CmdCreateRole implements ICommand { @Override public int getCode() { return CodeU2A.CreateRole; } @Override public void process(JSONObject json) throws Exception { SdkManager.getInstance().uploadRole( json.getString("roleID"),//角色id json.getString("roleName"),//角色名 json.getString("level"),//角色等级 json.getString("sid")//服务器id ); } } SdkProject/channel/GTGame/java/com/secondworld/sdk/command/CmdPayFinished.java
New file @@ -0,0 +1,17 @@ package com.secondworld.sdk.command; import com.secondworld.sdk.utils.CodeU2A; import org.json.JSONObject; public class CmdPayFinished implements ICommand{ @Override public int getCode() { return CodeU2A.PayFinished; } @Override public void process(JSONObject json) throws Exception { } } SdkProject/channel/GTGame/java/com/secondworld/sdk/command/CmdPlatformPay.java
New file @@ -0,0 +1,32 @@ package com.secondworld.sdk.command; import com.cy.yyjia.sdk.center.SdkManager; import com.secondworld.sdk.GameApp; import com.secondworld.sdk.utils.CodeU2A; import org.json.JSONObject; import java.net.URLEncoder; public class CmdPlatformPay implements ICommand { @Override public int getCode() { return CodeU2A.PlatformPay; } @Override public void process(JSONObject json) throws Exception { JSONObject extraData = new JSONObject(); extraData.put("appid", GameApp.I.appId); extraData.put("cpinfo", json.getString("cpInfo")); extraData.put("cporderid", json.getString("orderId")); SdkManager.getInstance() .pay(json.getString("sid"),//服务器编号 json.getString("roleID"),//角色编号 json.getString("cpInfo"),//商品id json.getString("title"),//商品名称 json.getString("mount"),//充值金额 json.getString("orderId"),//Cp订单号 URLEncoder.encode(extraData.toString(), "utf-8"));//扩展信息 } } SdkProject/channel/GTGame/java/com/secondworld/sdk/command/CmdROleLogin.java
New file @@ -0,0 +1,23 @@ package com.secondworld.sdk.command; import com.cy.yyjia.sdk.center.SdkManager; import com.secondworld.sdk.utils.CodeU2A; import org.json.JSONObject; public class CmdRoleLogin implements ICommand{ @Override public int getCode() { return CodeU2A.RoleLogin; } @Override public void process(JSONObject json) throws Exception { SdkManager.getInstance().uploadRole( json.getString("roleID"),//角色id json.getString("roleName"),//角色名 json.getString("level"),//角色等级 json.getString("sid")//服务器id ); } } SdkProject/channel/GTGame/java/com/secondworld/sdk/command/CmdRoleLevelUp.java
New file @@ -0,0 +1,23 @@ package com.secondworld.sdk.command; import com.cy.yyjia.sdk.center.SdkManager; import com.secondworld.sdk.utils.CodeU2A; import org.json.JSONObject; public class CmdRoleLevelUp implements ICommand { @Override public int getCode() { return CodeU2A.RoleLevelUp; } @Override public void process(JSONObject json) throws Exception { SdkManager.getInstance().uploadRole( json.getString("roleID"),//角色id json.getString("roleName"),//角色名 json.getString("level"),//角色等级 json.getString("sid")//服务器id ); } } SdkProject/channel/gtgame/java/com/secondworld/sdk/GTGameApp.java
@@ -1,21 +1,7 @@ package com.secondworld.sdk; 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 java.util.HashMap; import java.util.Map; public class GTGameApp extends GameApp { private Map<String, Object> args; @Override protected void registerProxy() { @@ -25,120 +11,15 @@ } @Override protected void initPlatformDiff() { PlatformDiff.I = new GTGamePlatform(); } @Override protected void initSdk() { super.initSdk(); args = new HashMap<>(); // 初始化监听 SdkManager.getInstance().setInitListener(new InitListener() { @Override public void onSuccess() { LogUtil.debug("SdkManager", "成功"); args.clear(); args.put("code", CodeA2U.PlatformInitOk); UnityMsgHandler.sendMessageToUnity(args); MySdkMgr.I.setListener(); } @Override public void onError(String msg) { LogUtil.e("SdkManager", "失败:" + msg); args.clear(); args.put("code", CodeA2U.PlatformInitFail); UnityMsgHandler.sendMessageToUnity(args); } }); // 登录监听 SdkManager.getInstance().setLoginListener(new LoginListener() { @Override public void onSuccess() { args.clear(); args.put("code", CodeA2U.PlatformLoginOk); args.put("account", SdkManager.getInstance().getUid()); args.put("game_id", SdkManager.getInstance().getGameId()); args.put("session_id", SdkManager.getInstance().getSessionId()); UnityMsgHandler.sendMessageToUnity(args); } @Override public void onError(String 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) { } @Override public void onError() { } @Override public void 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() { } @Override public void onSuccess() { } }); //修改密码监听 SdkManager.getInstance().setChangePasswordListener(new ChangePasswordListener() { @Override public void onError() { } @Override public void onSuccess() { } }); //设置dubug模式 // SdkManager.getInstance().setDebug(BuildConfig.DEBUG); } } SdkProject/channel/gtgame/java/com/secondworld/sdk/GTGameMain.java
@@ -12,7 +12,7 @@ public void onCreate(Activity activity) { super.onCreate(activity); // 初始化SDK SdkManager.getInstance().init(activity); MySdkMgr.I.init(activity); SdkManager.getInstance().onCreate(activity); } @@ -20,14 +20,14 @@ public void onResume() { super.onResume(); SdkManager.getInstance().onResume(activity); SdkManager.getInstance().showFloatView(activity);//显示悬浮窗 // SdkManager.getInstance().showFloatView(activity);//显示悬浮窗 } @Override public void onPause() { super.onPause(); SdkManager.getInstance().onPause(activity); SdkManager.getInstance().hideFloatView(activity);//隐藏悬浮窗 // SdkManager.getInstance().hideFloatView(activity);//隐藏悬浮窗 } @Override SdkProject/channel/gtgame/java/com/secondworld/sdk/command/CmdPlatformLogin.java
@@ -1,6 +1,6 @@ package com.secondworld.sdk.command; import com.cy.yyjia.sdk.center.SdkManager; import com.secondworld.sdk.MySdkMgr; import com.secondworld.sdk.utils.CodeU2A; import org.json.JSONObject; @@ -13,6 +13,6 @@ @Override public void process(JSONObject json) throws Exception { SdkManager.getInstance().login(); MySdkMgr.I.login(); } } SdkProject/channel/test/java/com/secondworld/sdk/TestApp.java
@@ -1,4 +1,9 @@ package com.secondworld.sdk; public class TestApp extends GameApp { @Override protected void initPlatformDiff() throws Exception { PlatformDiff.I = new TestPlatform(); } } SdkProject/channel/test/java/com/secondworld/sdk/TestPlatform.java
New file @@ -0,0 +1,8 @@ package com.secondworld.sdk; public class TestPlatform extends PlatformDiff{ @Override public String platformName() { return "test"; } } SdkProject/library/src/main/java/com/secondworld/sdk/GameActivityProxy.java
@@ -11,8 +11,11 @@ protected Activity activity; public static GameActivityProxy I; public void onCreate(Activity activity) { this.activity = activity; I = this; } public void onStart() { @@ -32,7 +35,8 @@ } public void onDestroy() { activity=null; I = null; } public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { SdkProject/library/src/main/java/com/secondworld/sdk/GameApp.java
@@ -8,14 +8,17 @@ import com.secondworld.sdk.utils.LogUtil; import com.unity3d.player.UnityPlayer; public class GameApp extends Application { public abstract class GameApp extends Application { public static GameApp I; public String appId = ""; @Override public void onCreate() { super.onCreate(); newInstance(); initPlatformDiff(); LogUtil.Init(this); UnityMsgHandler.initCommandMap(); registerProxy(); @@ -26,6 +29,8 @@ I = this; } protected abstract void initPlatformDiff(); protected void registerProxy() { } SdkProject/library/src/main/java/com/secondworld/sdk/PlatformDiff.java
New file @@ -0,0 +1,10 @@ package com.secondworld.sdk; public abstract class PlatformDiff { public static PlatformDiff I; //平台名称 public abstract String platformName(); } SdkProject/library/src/main/java/com/secondworld/sdk/PlatformSdkMgr.java
New file @@ -0,0 +1,19 @@ package com.secondworld.sdk; import java.util.Map; public class PlatformSdkMgr { public enum SdkInitState { SUCCEED,//成功 FAILED,//失败 UNKNOWN,//未开始 LOADING//正在初始化 } protected Map<String, Object> args; public SdkInitState sdkInitState = SdkInitState.UNKNOWN; //sdk初始化状态 } SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdInit.java
@@ -3,7 +3,9 @@ import android.app.AlertDialog; import com.secondworld.sdk.GTGameApp; import com.secondworld.sdk.GameApp; import com.secondworld.sdk.PlatformDiff; import com.secondworld.sdk.UnityMsgHandler; import com.secondworld.sdk.utils.CodeA2U; import com.secondworld.sdk.utils.CodeU2A; @@ -11,6 +13,7 @@ import com.secondworld.sdk.utils.LogUtil; import com.unity3d.player.UnityPlayer; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; @@ -28,7 +31,9 @@ } @Override public void process(JSONObject json) { public void process(JSONObject json) throws JSONException { GTGameApp.I.appId = json.getString("appID"); long size = DeviceUtil.getTotalRAMSize() / 1024 / 1024; LogUtil.debug("CmdInit", "内存:" + size + " mb"); if (size < 1024) { @@ -56,6 +61,7 @@ //通知sdk初始化完成 _msgStruct.clear(); _msgStruct.put("code", CodeA2U.SdkInitComplete); _msgStruct.put("channelPlatform", PlatformDiff.I.platformName()); UnityMsgHandler.sendMessageToUnity(_msgStruct); LogUtil.debug("CmdInit", "Sdk初始化完成"); }