From aa908e55497929fb57282e97bb7dae71630d16e1 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 26 十二月 2023 21:06:36 +0800
Subject: [PATCH] 10074 新增渠道-绝峰

---
 SdkProject/channel/mlgtgame_jf/deps.gradle                                                |    3 
 SdkProject/library/libs/alipaysdk_15.7.5.jar                                              |    0 
 Channel/Android/mlgtgame_jf/deps.gradle                                                   |    3 
 SdkProject/library/libs/sdklibrary-release.aar                                            |    0 
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPayFinished.java       |   17 +
 SdkProject/library/build.gradle                                                           |   30 --
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformInit.java      |   17 +
 Channel/Android/mlgtgame_jf/AndroidManifest.xml                                           |   17 +
 SdkProject/channel/mlgtgame_jf/config.properties                                          |    1 
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformPay.java       |   37 ++
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTrackingCloseVote.java |   15 +
 SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java                    |   30 ++
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/MySdkMgr.java                     |  201 +++++++++++++++
 SdkProject/library/libs/gson-2.8.6.jar                                                    |    0 
 SdkProject/library/libs/android-support-v4.jar                                            |    0 
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogin.java     |   18 +
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameMain.java                   |   79 ++++++
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/GoToReview.java           |   16 +
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTutorialFinish.java    |   15 +
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogout.java    |   17 +
 Channel/Android/mlgtgame_jf/debug/libs/library-debug-mlgtgame_jf.aar                      |    0 
 Channel/Android/mlgtgame_jf/release/libs/library-release-mlgtgame_jf.aar                  |    0 
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLogin.java         |   34 ++
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdCreateRole.java        |   35 ++
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGamePlatform.java               |    9 
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdOpenDashboard.java     |   17 +
 SdkProject/channel/mlgtgame_jf/res/xml/filepaths.xml                                      |   13 +
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLevelUp.java       |   34 ++
 SdkProject/channel/mlgtgame_jf/AndroidManifest.xml                                        |   45 +++
 SdkProject/gradle.properties                                                              |    2 
 SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameApp.java                    |   25 +
 31 files changed, 699 insertions(+), 31 deletions(-)

diff --git a/Channel/Android/mlgtgame_jf/AndroidManifest.xml b/Channel/Android/mlgtgame_jf/AndroidManifest.xml
new file mode 100644
index 0000000..1dad128
--- /dev/null
+++ b/Channel/Android/mlgtgame_jf/AndroidManifest.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.unity3d.player"
+    xmlns:tools="http://schemas.android.com/tools">
+    <application
+	android:allowNativeHeapPointerTagging="false">
+        <activity android:name="com.secondworld.sdk.GameActivity"
+                  android:theme="@style/UnityThemeSelector">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
+        </activity>
+    </application>
+</manifest>
diff --git a/Channel/Android/mlgtgame_jf/debug/libs/library-debug-mlgtgame_jf.aar b/Channel/Android/mlgtgame_jf/debug/libs/library-debug-mlgtgame_jf.aar
new file mode 100644
index 0000000..82f8023
--- /dev/null
+++ b/Channel/Android/mlgtgame_jf/debug/libs/library-debug-mlgtgame_jf.aar
Binary files differ
diff --git a/Channel/Android/mlgtgame_jf/deps.gradle b/Channel/Android/mlgtgame_jf/deps.gradle
new file mode 100644
index 0000000..2e3ca6a
--- /dev/null
+++ b/Channel/Android/mlgtgame_jf/deps.gradle
@@ -0,0 +1,3 @@
+dependencies {
+
+}
diff --git a/Channel/Android/mlgtgame_jf/release/libs/library-release-mlgtgame_jf.aar b/Channel/Android/mlgtgame_jf/release/libs/library-release-mlgtgame_jf.aar
new file mode 100644
index 0000000..8338297
--- /dev/null
+++ b/Channel/Android/mlgtgame_jf/release/libs/library-release-mlgtgame_jf.aar
Binary files differ
diff --git a/SdkProject/channel/mlgtgame_jf/AndroidManifest.xml b/SdkProject/channel/mlgtgame_jf/AndroidManifest.xml
new file mode 100644
index 0000000..f4c6a57
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/AndroidManifest.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    package="com.secondworld.sdk">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <!--    GooglePay-->
+    <uses-permission android:name="com.android.vending.BILLING" />
+
+    <application
+
+        android:name=".GTGameApp"
+        android:requestLegacyExternalStorage="true"
+        android:usesCleartextTraffic="true"
+        android:supportsPictureInPicture= "true"
+        android:resizeableActivity="true"
+        android:exported="false"
+        android:extractNativeLibs="true"
+        tools:replace="android:name">
+
+        <provider
+            android:name="androidx.core.content.FileProvider"
+            android:authorities="${applicationId}.fileprovider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/filepaths" />
+
+        </provider>
+        <meta-data
+            android:name="JF_APPID"
+            android:value="81445"/>
+        <meta-data
+            android:name="JF_APPKEY"
+            android:value="538D489BFA57BAF0AF6401745118D6EA"/>
+        <activity
+            android:name="com.juefeng.sdk.juefengsdk.ui.activity.InitdataActivity"
+            android:screenOrientation="sensorLandscape" />
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/SdkProject/channel/mlgtgame_jf/config.properties b/SdkProject/channel/mlgtgame_jf/config.properties
new file mode 100644
index 0000000..22ff451
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/config.properties
@@ -0,0 +1 @@
+PLUGINS=
\ No newline at end of file
diff --git a/SdkProject/channel/mlgtgame_jf/deps.gradle b/SdkProject/channel/mlgtgame_jf/deps.gradle
new file mode 100644
index 0000000..2e3ca6a
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/deps.gradle
@@ -0,0 +1,3 @@
+dependencies {
+
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameApp.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameApp.java
new file mode 100644
index 0000000..9c71e51
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameApp.java
@@ -0,0 +1,25 @@
+package com.secondworld.sdk;
+import android.app.Application;
+
+
+
+
+public class GTGameApp extends Application {
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        GameAppProxy.create(this,new GTGamePlatform());
+        registerProxy();
+    }
+
+    protected void registerProxy() {
+        //涓荤晫闈唬鐞嗘敞鍐�
+        GameActivity.registerProxy(GTGameMain.class);
+
+    }
+
+
+
+
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameMain.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameMain.java
new file mode 100644
index 0000000..0f9d41e
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGameMain.java
@@ -0,0 +1,79 @@
+package com.secondworld.sdk;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.view.KeyEvent;
+
+import androidx.annotation.NonNull;
+
+import com.juefeng.sdk.juefengsdk.JFSDK;
+
+public class GTGameMain extends GameActivityProxy {
+
+    @Override
+    public void onCreate(Activity activity) {
+        super.onCreate(activity);
+        // 鍒濆鍖朣DK
+        MySdkMgr.I.OnCreate(activity);
+    }
+
+    @Override
+    public void onStart()
+    {
+        super.onStart();
+        MySdkMgr.I.onStart();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        MySdkMgr.I.onResume();
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        MySdkMgr.I.onPause();
+    }
+
+    @Override
+    public void onStop() {
+        super.onPause();
+        MySdkMgr.I.onStop();
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        MySdkMgr.I.onDestroy();
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        MySdkMgr.I.onActivityResult(requestCode, resultCode, data);
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        MySdkMgr.I.onRequestPermissionsResult(requestCode, permissions, grantResults);
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_BACK) {
+                // 娓告垙璋冪敤鑷韩鐨勯��鍑哄璇濇锛岀偣鍑荤‘瀹氬悗锛岃皟鐢╭uick鐨別xit鎺ュ彛
+                new AlertDialog.Builder(activity).setTitle("閫�鍑�").setMessage("鏄惁閫�鍑烘父鎴�?").setPositiveButton("纭畾", new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface arg0, int arg1) {
+                        JFSDK.getInstance().exitLogin(GTGameMain.I.activity);
+                    }
+                }).setNegativeButton("鍙栨秷", null).show();
+            return true;
+        }
+        return super.onKeyDown(keyCode, event);
+    }
+
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGamePlatform.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGamePlatform.java
new file mode 100644
index 0000000..21f5976
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/GTGamePlatform.java
@@ -0,0 +1,9 @@
+package com.secondworld.sdk;
+
+public class GTGamePlatform extends PlatformDiff {
+
+    @Override
+    public String platformName() {
+        return "jfgtgame";
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/MySdkMgr.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/MySdkMgr.java
new file mode 100644
index 0000000..a3e6753
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/MySdkMgr.java
@@ -0,0 +1,201 @@
+package com.secondworld.sdk;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+
+import com.juefeng.sdk.juefengsdk.interf.SDKEventListener;
+import com.juefeng.sdk.juefengsdk.services.bean.CreatOrderInfo;
+import com.juefeng.sdk.juefengsdk.services.bean.JfOrderInfo;
+import com.juefeng.sdk.juefengsdk.services.bean.LoginErrorMsg;
+import com.juefeng.sdk.juefengsdk.services.bean.LogincallBack;
+import com.juefeng.sdk.juefengsdk.services.bean.PayFaildInfo;
+import com.juefeng.sdk.juefengsdk.services.bean.PaySuccessInfo;
+import com.secondworld.sdk.utils.CodeA2U;
+import com.secondworld.sdk.utils.LogUtil;
+import com.juefeng.sdk.juefengsdk.JFSDK;
+
+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();
+    public static String uid;
+    public static int viplevel;
+
+    public void init(Activity activity) {
+        sdkInitState = SdkInitState.LOADING;
+        JFSDK.getInstance().init(activity, mSDKEventListener);
+    }
+
+    public void OnCreate(Activity activity) {
+        JFSDK.getInstance().onCreate(GTGameMain.I.activity);
+        init(activity);
+    }
+
+    public void onStart()
+    {
+        JFSDK.getInstance().onStart(GTGameMain.I.activity);
+    }
+
+    public void login() {
+
+        switch (sdkInitState) {
+            case FAILED:
+            case UNKNOWN: {
+                break;
+            }
+            case SUCCEED: {
+                GameActivityProxy.I.activity.runOnUiThread(new Runnable() {
+
+                    @Override
+                    public void run() {
+                        JFSDK.getInstance().doLogin(GTGameMain.I.activity);
+                    }
+                });
+
+
+                break;
+            }
+            case LOADING: {
+                Toast.makeText(GameAppProxy.app, "Initializing", Toast.LENGTH_LONG).show();
+                break;
+            }
+        }
+    }
+
+
+    public void LogOutInitialize() {
+        JFSDK.getInstance().logoutLogin(GTGameMain.I.activity);
+    }
+
+
+    public void pay(JfOrderInfo roleInfo) {
+        JFSDK.getInstance().showPay(GTGameMain.I.activity, roleInfo);
+    }
+
+
+
+    public void onResume() {
+        JFSDK.getInstance().onResume(GTGameMain.I.activity);
+    }
+    public void onPause() {
+        JFSDK.getInstance().onPause(GTGameMain.I.activity);
+    }
+    public void onStop() {
+        JFSDK.getInstance().onStop(GTGameMain.I.activity);
+    }
+
+    public void onDestroy() {
+        //閫�鍑虹櫥褰曘�侀��鍑烘父鎴忚皟鐢�
+        JFSDK.getInstance().onDestroy(GTGameMain.I.activity);
+    }
+
+    public void onActivityResult(int requestCode, int resultCode, Intent data)
+    {
+        JFSDK.getInstance().onActivityResult(GTGameMain.I.activity, requestCode, resultCode, data);
+    }
+
+    public void onRequestPermissionsResult(int requestCode,
+                                           @NonNull String[] permissions, @NonNull int[] grantResults) {
+        JFSDK.getInstance().onRequestPermissionsResult(GTGameMain.I.activity, requestCode, permissions, grantResults);
+    }
+
+
+    SDKEventListener mSDKEventListener = new SDKEventListener(){
+        @Override
+        public void onLoginSuccess(LogincallBack logincallBack) {//鐧诲綍鎴愬姛
+            JFSDK.getInstance().showFloatView(GTGameMain.I.activity);
+
+            try
+            {
+                args.clear();
+                JSONObject info = new JSONObject();
+                String channelID = "9996";
+                uid = logincallBack.userId;
+                String account = uid + "@" + channelID;
+                info.put("account", account);
+                info.put("userName", uid);
+                info.put("token", logincallBack.token);
+                args.put("info", info);
+                UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginOk, args);
+            } catch (JSONException e) {
+                e.printStackTrace();
+                LogUtil.e("SdkManager 鐧诲綍鎴愬姛 浣嗕俊鎭鐞嗗け璐�", e);
+            }
+
+            LogUtil.i(TAG, "login success,uid:" + uid + " userName:" + logincallBack.userName);
+        }
+
+        @Override
+        public void onLoginFailed(LoginErrorMsg loginErrorMsg) {//鐧诲綍澶辫触
+            Toast.makeText(GameAppProxy.app, "login fail " + loginErrorMsg.getCode(), Toast.LENGTH_LONG).show();
+            //鐧诲綍澶辫触
+            LogUtil.e("SdkManager", "鐧诲綍澶辫触锛�" + loginErrorMsg.getErrorMsg());
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail);
+        }
+        @Override
+        public void onInitSuccess(String desc,boolean isAutoLogin) {
+            sdkInitState = SdkInitState.SUCCEED;
+            LogUtil.debug("SdkManager", "鍒濆鍖栨垚鍔�");
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk);
+        }
+        @Override
+        public void onInitFaild(String desc) {
+            Toast.makeText(GameAppProxy.app,  "init fail "+desc, Toast.LENGTH_LONG).show();
+            //鍒濆鍖栧け璐�
+            sdkInitState = SdkInitState.FAILED;
+            LogUtil.e("SdkManager", "鍒濆鍖栧け璐� msg锛�" + desc);
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitFail);
+        }
+        @Override
+        public void onPaySuccessCallback(PaySuccessInfo paySuccessInfo) {
+            //鏀粯鎴愬姛
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayOk);
+            }
+
+        @Override
+        public void onPayFaildCallback(PayFaildInfo payFaildInfo) {
+            //鏀粯澶辫触
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayFail);
+            }
+
+        @Override
+        public void onExit(String desc) {//閫�鍑烘垚鍔�
+
+        }
+        @Override
+        public void onCancleExit(String desc) {
+
+        }
+        @Override
+        public void onCreatedOrder(CreatOrderInfo infoBean) {
+            //璁㈠崟鍒涘缓鎴愬姛
+            LogUtil.i("SdkManager", "璁㈠崟鍒涘缓鎴愬姛");
+        }
+        @Override
+        public void  onLogoutLogin(){//姝ゅ闇�鍥炲埌娓告垙鐧诲綍鐣岄潰娓告垙鏂规墽琛�
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
+        }
+        public void onSwitchAccountSuccess(LogincallBack login)
+        {
+    /*姝ゅ洖璋冩帴鍙f槸鍦ㄥ綋SDK鍐呴儴鏈夊垏鎹㈠笎鍙风殑鍔熻兘锛屼笖鍒囨崲鎴愬姛鏃朵細璋冪敤锛屾父
+    鎴忔柟闇�瑕佸湪杩欎釜鍥炶皟鎺ュ彛涓敞閿�鍘熸潵鐨勮鑹叉暟鎹紝鐒跺悗鏍规嵁鏂扮殑openid(鍙傛暟
+        login涓彲浠ヨ幏鍙栧埌)鏉ラ噸鏂板姞杞借鑹叉暟鎹紱*/
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
+        }
+        @Override
+        public void onGameSwitchAccount()
+        {
+    /*姝ゆ帴鍙f槸鍦ㄦ父鎴忓唴鏈夎处鍙峰垏鎹㈠姛鑳界偣鍑� 璋冪敤          JFSDK.getInstance().switchAccount(MainActivity.this);鍚庡洖璋�
+      娓告垙鏂硅处鍙峰垏鎹㈤�昏緫闇�瑕佸湪姝ゅ洖璋冧腑鎵ц
+    * */
+            UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
+        }
+
+    };
+
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdCreateRole.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdCreateRole.java
new file mode 100644
index 0000000..168dcd6
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdCreateRole.java
@@ -0,0 +1,35 @@
+package com.secondworld.sdk.command;
+
+import com.juefeng.sdk.juefengsdk.JFSDK;
+import com.juefeng.sdk.juefengsdk.services.bean.JfRoleInfo;
+import com.secondworld.sdk.MySdkMgr;
+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 {
+
+        //涓婃姤瑙掕壊淇℃伅
+        JfRoleInfo roleInfo = new JfRoleInfo();
+        roleInfo.setGameRoleLevel(json.getString("level"));
+        roleInfo.setRoleId(json.getString("roleID"));
+        roleInfo.setGameRolePower(json.getInt("fightPower"));
+        roleInfo.setServerId(json.getString("sid"));
+        roleInfo.setServerName(json.getString("serverName"));
+        roleInfo.setRoleName(json.getString("roleName"));
+        roleInfo.setExperience("1");
+        roleInfo.setPartyId(json.getString("familyID"));
+        roleInfo.setPartyName(json.getString("familyName"));
+        roleInfo.setRoleCreateTime(System.currentTimeMillis());
+        roleInfo.setVipLevel(json.getInt("vipLevel"));
+        roleInfo.setType("1");
+        JFSDK.getInstance().syncInfo(roleInfo);
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdOpenDashboard.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdOpenDashboard.java
new file mode 100644
index 0000000..6e150ee
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdOpenDashboard.java
@@ -0,0 +1,17 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.utils.CodeU2A;
+
+
+import org.json.JSONObject;
+
+public class CmdOpenDashboard implements  ICommand{
+    @Override
+    public int getCode() {
+        return CodeU2A.OpenDashboard;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPayFinished.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPayFinished.java
new file mode 100644
index 0000000..cfda334
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPayFinished.java
@@ -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 {
+
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformInit.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformInit.java
new file mode 100644
index 0000000..08a64e1
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformInit.java
@@ -0,0 +1,17 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.utils.CodeU2A;
+
+import org.json.JSONObject;
+
+public class CmdPlatformInit implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.PlatformInit;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogin.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogin.java
new file mode 100644
index 0000000..70343ca
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogin.java
@@ -0,0 +1,18 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.MySdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+
+import org.json.JSONObject;
+
+public class CmdPlatformLogin implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.PlatformLogin;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+        MySdkMgr.I.login();
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogout.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogout.java
new file mode 100644
index 0000000..14f23b8
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformLogout.java
@@ -0,0 +1,17 @@
+package com.secondworld.sdk.command;
+import com.secondworld.sdk.MySdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+
+import org.json.JSONObject;
+
+public class CmdPlatformLogout implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.PlatformLogout;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+        MySdkMgr.I.LogOutInitialize();
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformPay.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformPay.java
new file mode 100644
index 0000000..59e9895
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdPlatformPay.java
@@ -0,0 +1,37 @@
+package com.secondworld.sdk.command;
+
+import com.juefeng.sdk.juefengsdk.services.bean.JfOrderInfo;
+import com.secondworld.sdk.MySdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+
+import org.json.JSONObject;
+
+public class CmdPlatformPay implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.PlatformPay;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+        //channelID_cp璁㈠崟id_鍖烘湇id_娓告垙鍏呭�肩紪鍙�  闀垮害涓嶈秴杩�100 鍙兘鐢ㄤ笅鍒掔嚎
+
+        JfOrderInfo roleInfo = new JfOrderInfo ();
+
+        roleInfo.setLevel(json.getString("level"));
+        roleInfo.setGoodsId(json.getString("cpInfo"));
+        roleInfo.setGoodsName(json.getString("title"));
+        roleInfo.setGoodsDes(json.getString("title"));
+        roleInfo.setPrice(json.getString("mount"));
+        roleInfo.setServerId(json.getString("sid"));
+        roleInfo.setServerName(json.getString("serverName"));
+        roleInfo.setRoleId(json.getString("roleID"));
+        roleInfo.setRoleName(json.getString("roleName"));
+        roleInfo.setVip(json.getString("vipLevel"));
+
+        String attach = "9996_" + json.getString("orderId") + "_" + json.getString("sid") + "_" + json.getString("cpInfo");
+        roleInfo.setRemark(attach);
+        roleInfo.setCpOrderId(json.getString("orderId"));
+        MySdkMgr.I.pay(roleInfo);
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLevelUp.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLevelUp.java
new file mode 100644
index 0000000..de6f1b1
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLevelUp.java
@@ -0,0 +1,34 @@
+package com.secondworld.sdk.command;
+
+
+import com.juefeng.sdk.juefengsdk.JFSDK;
+import com.juefeng.sdk.juefengsdk.services.bean.JfRoleInfo;
+import com.secondworld.sdk.MySdkMgr;
+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 {
+        //涓婃姤瑙掕壊淇℃伅
+        JfRoleInfo roleInfo = new JfRoleInfo();
+        roleInfo.setGameRoleLevel(json.getString("level"));
+        roleInfo.setRoleId(json.getString("roleID"));
+        roleInfo.setGameRolePower(json.getInt("fightPower"));
+        roleInfo.setServerId(json.getString("sid"));
+        roleInfo.setServerName(json.getString("serverName"));
+        roleInfo.setRoleName(json.getString("roleName"));
+        roleInfo.setExperience("1");
+        roleInfo.setPartyId(json.getString("familyID"));
+        roleInfo.setPartyName(json.getString("familyName"));
+        roleInfo.setVipLevel(json.getInt("vipLevel"));
+        roleInfo.setType("3");
+        JFSDK.getInstance().syncInfo(roleInfo);
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLogin.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLogin.java
new file mode 100644
index 0000000..f3c3d87
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdRoleLogin.java
@@ -0,0 +1,34 @@
+package com.secondworld.sdk.command;
+
+import com.juefeng.sdk.juefengsdk.JFSDK;
+import com.juefeng.sdk.juefengsdk.services.bean.JfRoleInfo;
+import com.secondworld.sdk.MySdkMgr;
+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 {
+
+        //涓婃姤瑙掕壊淇℃伅
+        JfRoleInfo roleInfo = new JfRoleInfo();
+        roleInfo.setGameRoleLevel(json.getString("level"));
+        roleInfo.setRoleId(json.getString("roleID"));
+        roleInfo.setGameRolePower(json.getInt("fightPower"));
+        roleInfo.setServerId(json.getString("sid"));
+        roleInfo.setServerName(json.getString("serverName"));
+        roleInfo.setRoleName(json.getString("roleName"));
+        roleInfo.setExperience("1");
+        roleInfo.setPartyId(json.getString("familyID"));
+        roleInfo.setPartyName(json.getString("familyName"));
+        roleInfo.setVipLevel(json.getInt("vipLevel"));
+        roleInfo.setType("2");
+        JFSDK.getInstance().syncInfo(roleInfo);
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTrackingCloseVote.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTrackingCloseVote.java
new file mode 100644
index 0000000..652d3af
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTrackingCloseVote.java
@@ -0,0 +1,15 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.utils.CodeU2A;
+import org.json.JSONObject;
+
+public class CmdTrackingCloseVote implements  ICommand{
+    @Override
+    public int getCode() {
+        return CodeU2A.TrackingCloseVote;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTutorialFinish.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTutorialFinish.java
new file mode 100644
index 0000000..f31f103
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/CmdTutorialFinish.java
@@ -0,0 +1,15 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.utils.CodeU2A;
+import org.json.JSONObject;
+
+public class CmdTutorialFinish implements  ICommand{
+    @Override
+    public int getCode() {
+        return CodeU2A.TutorialFinish;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/GoToReview.java b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/GoToReview.java
new file mode 100644
index 0000000..17d2cb0
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/java/com/secondworld/sdk/command/GoToReview.java
@@ -0,0 +1,16 @@
+package com.secondworld.sdk.command;
+
+
+import com.secondworld.sdk.utils.CodeU2A;
+import org.json.JSONObject;
+
+public class GoToReview implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.GoToReview;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+    }
+}
diff --git a/SdkProject/channel/mlgtgame_jf/res/xml/filepaths.xml b/SdkProject/channel/mlgtgame_jf/res/xml/filepaths.xml
new file mode 100644
index 0000000..9b7bb13
--- /dev/null
+++ b/SdkProject/channel/mlgtgame_jf/res/xml/filepaths.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <paths>
+        <root-path path="." name="root_path"/>
+       <!-- <external-path name="external_storage_root" path="." />
+        <external-path name="external_storage_download" path="." />
+        <external-cache-path name="external_cache_path" path="." />
+        <external-files-path name="external_files_path" path="." />
+        <external-path name="external_path" path=". " />
+        <cache-path name="cache_path" path="." />
+        <files-path name="files_path" path="." />-->
+    </paths>
+</resources>
\ No newline at end of file
diff --git a/SdkProject/gradle.properties b/SdkProject/gradle.properties
index e25f2cb..2aa636d 100644
--- a/SdkProject/gradle.properties
+++ b/SdkProject/gradle.properties
@@ -18,4 +18,4 @@
 ## Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=true
 #褰撳墠鏋勫缓鐨勬笭閬撳悕绉�
-CHANNEL_NAME=mlgtgame_quickhw
\ No newline at end of file
+CHANNEL_NAME=mlgtgame_jf
\ No newline at end of file
diff --git a/SdkProject/library/build.gradle b/SdkProject/library/build.gradle
index 296dfcb..a2b47f6 100644
--- a/SdkProject/library/build.gradle
+++ b/SdkProject/library/build.gradle
@@ -204,34 +204,6 @@
     }
 
 //浠ヤ笅涓哄繀闇�渚濊禆鐨勫簱
-    implementation(name: 'quickgame_hw_2.3.3', ext: 'aar') //x.x.x涓哄叿浣撶増鏈�
-    implementation 'com.android.billingclient:billing:5.2.1'//google鍐呰喘
-    implementation 'androidx.appcompat:appcompat:1.1.0'
-    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.10"
-//浠ヤ笅涓洪�夋帴搴�
-//璋锋瓕鐧诲綍
-    implementation 'com.google.android.gms:play-services-auth:19.0.0'
-//Facebook
-    implementation 'com.facebook.android:facebook-android-sdk:16.0.0'
+    implementation(name: 'sdklibrary-release', ext: 'aar') //x.x.x涓哄叿浣撶増鏈�
 
-    //firebase analytics
-    implementation 'com.google.firebase:firebase-analytics:20.1.0'
-
-
-//appsflyer
-//    implementation 'com.appsflyer:af-android-sdk:6.10.3'
-////adjust
-//    implementation 'com.adjust.sdk:adjust-android:4.31.1'
-////adjust闇�瑕�
-//    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.1'
-////appsflyer銆乤djust闇�瑕�
-//    implementation 'com.android.installreferrer:installreferrer:2.2'
-////Twitter鐧诲綍
-//    implementation 'com.twitter.sdk.android:twitter:3.1.1'
-////Line鐧诲綍
-//    implementation (name: 'line_sdk_4.0.8',ext: 'aar')
-////tapdb
-//    implementation files('libs/libTapDB-3.3.0.aar')
-////TalkingData
-//    implementation files('libs/TalkingData_GP_GameAnalytics_V4.0.69.jar')
 }
diff --git a/SdkProject/library/libs/alipaysdk_15.7.5.jar b/SdkProject/library/libs/alipaysdk_15.7.5.jar
new file mode 100644
index 0000000..06a5700
--- /dev/null
+++ b/SdkProject/library/libs/alipaysdk_15.7.5.jar
Binary files differ
diff --git a/SdkProject/library/libs/android-support-v4.jar b/SdkProject/library/libs/android-support-v4.jar
new file mode 100644
index 0000000..2ff47f4
--- /dev/null
+++ b/SdkProject/library/libs/android-support-v4.jar
Binary files differ
diff --git a/SdkProject/library/libs/gson-2.8.6.jar b/SdkProject/library/libs/gson-2.8.6.jar
new file mode 100644
index 0000000..4765c4a
--- /dev/null
+++ b/SdkProject/library/libs/gson-2.8.6.jar
Binary files differ
diff --git a/SdkProject/library/libs/sdklibrary-release.aar b/SdkProject/library/libs/sdklibrary-release.aar
new file mode 100644
index 0000000..eeb9412
--- /dev/null
+++ b/SdkProject/library/libs/sdklibrary-release.aar
Binary files differ
diff --git a/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java b/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java
index d05528d..c3fc094 100644
--- a/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java
+++ b/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java
@@ -10,7 +10,7 @@
 
 import com.secondworld.sdk.utils.LogUtil;
 import com.secondworld.sdk.utils.WebViewUtil;
-
+import com.juefeng.sdk.juefengsdk.JFSDK;
 
 public class GameActivity extends UnityPlayerActivity {
 
@@ -60,6 +60,8 @@
         super.onRestart();
         if (proxy != null)
             proxy.onRestart();
+
+        JFSDK.getInstance().onRestart(GTGameMain.I.activity);
     }
 
     @Override
@@ -95,6 +97,7 @@
         super.onNewIntent(intent);
         if (proxy != null)
             proxy.onNewIntent(intent);
+        JFSDK.getInstance().onNewIntent(GTGameMain.I.activity, intent);
     }
 
     @Override
@@ -118,4 +121,29 @@
         boolean b = proxy.onKeyDown(keyCode, event);
         return b ? b : super.onKeyDown(keyCode, event);
     }
+
+    @Override
+    public boolean  dispatchKeyEvent(KeyEvent event) {
+        if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
+            if(event.getAction() == KeyEvent.ACTION_DOWN&&event.getRepeatCount() == 0) {
+                JFSDK.getInstance().exitLogin(GTGameMain.I.activity);
+                return true;
+            }
+        }
+        return super.dispatchKeyEvent(event);
+    }
+
+    @Override
+    public void onWindowFocusChanged(boolean hasFocus)
+    {
+        super.onWindowFocusChanged(hasFocus);
+        JFSDK.getInstance().onWindowFocusChanged(hasFocus);
+    }
+
+    @Override
+    public void onBackPressed()
+    {
+        super.onBackPressed();
+        JFSDK.getInstance().onBackPressed(GTGameMain.I.activity);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0