From 2a011653190c36e6fb1f790b3819a1d6b0744aef Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 18 七月 2025 16:01:58 +0800
Subject: [PATCH] 0312 补充越南 ios sdk

---
 SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java |  168 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 119 insertions(+), 49 deletions(-)

diff --git a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
index a4b0e47..4236a62 100644
--- a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
+++ b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
@@ -33,6 +33,7 @@
 import com.secondworld.sdk.utils.LogUtil;
 import com.secondworld.sdk.utils.RequestCode;
 import com.unity3d.player.UnityPlayer;
+import com.secondworld.sdk.PlatformDiff;
 
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -43,64 +44,89 @@
 
     String productCode;
     String productKey;
-
+    public String channelID;
     int REQUEST_RECORD_PERMISSION_SETTING = 110;
 
-    private boolean hasPermissions(Activity activity) {
-        return (ContextCompat.checkSelfPermission(activity,
-                Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED)
-                && (ContextCompat.checkSelfPermission(activity,
-                Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED);
+    public boolean hasPermissions(Activity activity) {
+        //鏉冮檺鎻愬彇鍒板悇鑷」鐩腑
+//        return (ContextCompat.checkSelfPermission(activity,
+//                Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED)
+//                && (ContextCompat.checkSelfPermission(activity,
+//                Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED);
+
+        String[] permissionStr = PlatformDiff.I.platformPermission();
+        for (int i = 0; i < permissionStr.length; i++)
+        {
+            if (ContextCompat.checkSelfPermission(activity, permissionStr[i]) != PackageManager.PERMISSION_GRANTED)
+            {
+                return false;
+            }
+        }
+        return true;
     }
 
     public void requestPermissions(Activity activity) {
+
         try {
-            // check鏉冮檺
             if (!hasPermissions(activity)) {
-                // 娌℃湁鍒欑敵璇锋潈闄�
-                ActivityCompat.requestPermissions(activity, new String[]{
-                        Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK);
-            } else {
+                ActivityCompat.requestPermissions(activity, PlatformDiff.I.platformPermission(), RequestCode.QUICK);
+            }
+            else
+            {
+                QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey());
                 QuickSdkMgr.I.init(activity);
             }
-        } catch (Exception e) {
-            QuickSdkMgr.I.init(activity);
+
+        }
+        catch (Exception e) {
+            LogUtil.i("SdkManager", "requestPermissions 鍒濆鍖朣DK澶辫触");
         }
     }
 
-    public void onRequestPermissionsResult(Activity activity, int requestCode, int[] grantResults) {
+    public void onRequestPermissionsResult(Activity activity, int requestCode, int[] grantResults, String[] permissions) {
         if (requestCode != RequestCode.QUICK) return;
-        if (hasPermissions(activity)) {
+
+
+        //if (hasPermissions(activity))
+        {
+            LogUtil.i("SdkManager", "onRequestPermissionsResult 涓嶇鏄惁鐢宠鎴愬姛閮藉垵濮嬪寲");
+            //鐢宠鎴愬姛
+            QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey());
             QuickSdkMgr.I.init(activity);
             return;
         }
-        final AlertDialog.Builder normalDialog = new AlertDialog.Builder(activity);
-        normalDialog.setTitle("鏉冮檺璁剧疆");
-        normalDialog.setMessage("娓告垙闇�瑕侀儴鍒嗘潈闄愭墠鑳芥甯歌繍琛岋紝璇峰墠寰�璁剧疆涓墦寮�鐢佃瘽鏉冮檺涓庡瓨鍌ㄦ潈闄�");
-        normalDialog.setPositiveButton("鍓嶅線璁剧疆", new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
-                Uri uri = Uri.fromParts("package", activity.getPackageName(), null);
-                intent.setData(uri);
-                activity.startActivityForResult(intent, REQUEST_RECORD_PERMISSION_SETTING);
-                dialog.dismiss();
-            }
-        });
-        normalDialog.setNegativeButton("閫�鍑�", new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                GameAppProxy.appExit();
-            }
-        });
-        // 鏄剧ず
-        normalDialog.show();
+//        final AlertDialog.Builder normalDialog = new AlertDialog.Builder(activity);
+//        normalDialog.setTitle("鏉冮檺璁剧疆");
+//        normalDialog.setMessage("娓告垙闇�瑕侀儴鍒嗘潈闄愭墠鑳芥甯歌繍琛岋紝璇峰墠寰�璁剧疆涓墦寮�瀛樺偍鏉冮檺");
+//        normalDialog.setPositiveButton("鍓嶅線璁剧疆", new DialogInterface.OnClickListener() {
+//            @Override
+//            public void onClick(DialogInterface dialog, int which) {
+//                Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+//                Uri uri = Uri.fromParts("package", activity.getPackageName(), null);
+//                intent.setData(uri);
+//                activity.startActivityForResult(intent, REQUEST_RECORD_PERMISSION_SETTING);
+//                dialog.dismiss();
+//            }
+//        });
+//        normalDialog.setNegativeButton("閫�鍑�", new DialogInterface.OnClickListener() {
+//            @Override
+//            public void onClick(DialogInterface dialog, int which) {
+//                GameAppProxy.appExit();
+//            }
+//        });
+//        // 鏄剧ず
+//        normalDialog.show();
     }
 
     public void onActivityResult(Activity activity, int requestCode) {
         if (requestCode == REQUEST_RECORD_PERMISSION_SETTING)
+        {
+            LogUtil.i("unity-sdk", "onActivityResult");
             requestPermissions(activity);
+        }
+
     }
+
 
     public void init(Activity activity) {
         sdkInitState = SdkInitState.LOADING;
@@ -114,17 +140,25 @@
                 if (GameActivityProxy.I.activity == null)
                     return;
                 if (hasPermissions(GameActivityProxy.I.activity)) {
-                    init(BtGameMain.I.activity);
-                    Toast.makeText(GameAppProxy.app, "姝e湪鍒濆鍖栦腑锛岃绋嶇瓑", Toast.LENGTH_LONG).show();
+                    //init(BtGameMain.I.activity);
+                    Toast.makeText(GameAppProxy.app, "寮傚父璇烽噸鍚父鎴�", Toast.LENGTH_LONG).show();
                 }
                 break;
             }
             case SUCCEED: {
-                User.getInstance().login(GameActivityProxy.I.activity);
+                //User.getInstance().login(GameActivityProxy.I.activity);
+                GameActivityProxy.I.activity.runOnUiThread(new Runnable()
+                {
+                    @Override
+                    public void run()
+                    {
+                        User.getInstance().login(GameActivityProxy.I.activity);
+                    }
+                });
                 break;
             }
             case LOADING: {
-                Toast.makeText(GameAppProxy.app, "姝e湪鍒濆鍖栦腑锛岃绋嶇瓑", Toast.LENGTH_LONG).show();
+                Toast.makeText(GameAppProxy.app, "姝e湪鍒濆鍖栦腑锛岃绋嶇瓑锛�", Toast.LENGTH_LONG).show();
                 break;
             }
         }
@@ -133,19 +167,44 @@
     public void loginOut() {
         if (GameActivityProxy.I.activity == null)
             return;
-        User.getInstance().logout(GameActivityProxy.I.activity);
+        //User.getInstance().logout(GameActivityProxy.I.activity);
+        GameActivityProxy.I.activity.runOnUiThread(new Runnable()
+        {
+            @Override
+            public void run()
+            {
+                User.getInstance().logout(GameActivityProxy.I.activity);
+            }
+        });
     }
 
     public void setGameRoleInfo(GameRoleInfo roleInfo, boolean createRole) {
         if (GameActivityProxy.I.activity == null)
             return;
-        User.getInstance().setGameRoleInfo(GameActivityProxy.I.activity, roleInfo, createRole);
+        //User.getInstance().setGameRoleInfo(GameActivityProxy.I.activity, roleInfo, createRole);
+
+        GameActivityProxy.I.activity.runOnUiThread(new Runnable()
+        {
+            @Override
+            public void run()
+            {
+                User.getInstance().setGameRoleInfo(GameActivityProxy.I.activity, roleInfo, createRole);
+            }
+        });
     }
 
     public void pay(OrderInfo orderInfo, GameRoleInfo roleInfo) {
         if (GameActivityProxy.I.activity == null)
             return;
-        Payment.getInstance().pay(GameActivityProxy.I.activity, orderInfo, roleInfo);
+        //Payment.getInstance().pay(GameActivityProxy.I.activity, orderInfo, roleInfo);
+        GameActivityProxy.I.activity.runOnUiThread(new Runnable()
+        {
+            @Override
+            public void run()
+            {
+                Payment.getInstance().pay(GameActivityProxy.I.activity, orderInfo, roleInfo);
+            }
+        });
     }
 
     public void verifyRealName() {
@@ -198,7 +257,6 @@
                 LogUtil.debug("SdkManager", "鍒濆鍖栨垚鍔�");
                 UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk);
             }
-
             @Override
             public void onFailed(String message, String trace) {
                 //鍒濆鍖栧け璐�
@@ -217,10 +275,10 @@
                 try {
                     args.clear();
                     JSONObject info = new JSONObject();
-                    String cid = com.quicksdk.Extend.getInstance().getExtrasConfig("cid");
-                    if (cid == null || cid.isEmpty())
-                        cid = com.quicksdk.Extend.getInstance().getChannelType() + "";
-                    String account = userInfo.getUID() + "@" + cid;
+                    channelID = com.quicksdk.Extend.getInstance().getExtrasConfig("channel");
+                    if (channelID == null || channelID.isEmpty())
+                        channelID = com.quicksdk.Extend.getInstance().getChannelType() + "";
+                    String account = userInfo.getUID() + "@" + channelID;
                     info.put("account", account);
                     info.put("userName", userInfo.getUID());
                     info.put("token", userInfo.getToken());
@@ -230,6 +288,7 @@
                     e.printStackTrace();
                     LogUtil.e("SdkManager 鐧诲綍鎴愬姛", e);
                 }
+                PlatformDiff.I.LoginSuccess();
                 verifyRealName();
             }
 
@@ -318,7 +377,18 @@
             @Override
             public void onSuccess() {
                 //閫�鍑烘垚鍔燂紝娓告垙鍦ㄦ鍋氳嚜韬殑閫�鍑洪�昏緫澶勭悊
-                UnityMsgHandler.sendMessageToUnity(CodeA2U.ExitGame);
+                //UnityMsgHandler.sendMessageToUnity(CodeA2U.ExitGame);
+                if (GameActivityProxy.I.activity == null)
+                {
+                    UnityMsgHandler.sendMessageToUnity(CodeA2U.ExitGame);
+                    return;
+                }
+                LogUtil.i("SdkManager", "activity閫�鍑�");
+                GameActivityProxy.I.activity.finish();
+                android.os.Process.killProcess(android.os.Process.myPid());
+                System.exit(0);
+
+
             }
 
             @Override

--
Gitblit v1.8.0