From eca06f96b1b75c79ebce9c38baf90a15d5a616e1 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 16 四月 2024 10:27:03 +0800 Subject: [PATCH] 0312 越南ios 新sdk --- SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java | 129 +++++++++++++++++++++++++++++++++---------- 1 files changed, 99 insertions(+), 30 deletions(-) diff --git a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java index 73d075c..9531b08 100644 --- a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java +++ b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java @@ -9,8 +9,8 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.provider.Settings; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.widget.Toast; import com.quicksdk.BaseCallBack; @@ -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,40 +44,59 @@ 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)) { + 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.setMessage("娓告垙闇�瑕侀儴鍒嗘潈闄愭墠鑳芥甯歌繍琛岋紝璇峰墠寰�璁剧疆涓墦寮�瀛樺偍鏉冮檺"); normalDialog.setPositiveButton("鍓嶅線璁剧疆", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -99,8 +119,13 @@ 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 +139,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 +166,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 +256,6 @@ LogUtil.debug("SdkManager", "鍒濆鍖栨垚鍔�"); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk); } - @Override public void onFailed(String message, String trace) { //鍒濆鍖栧け璐� @@ -217,10 +274,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 +287,7 @@ e.printStackTrace(); LogUtil.e("SdkManager 鐧诲綍鎴愬姛", e); } + PlatformDiff.I.LoginSuccess(); verifyRealName(); } @@ -318,7 +376,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