From c1fba96d94b6f080a3b866260b9bb2be3b722400 Mon Sep 17 00:00:00 2001
From: allez <305670599@qq.com>
Date: 星期一, 01 四月 2024 16:43:44 +0800
Subject: [PATCH] 0312 iossdk初始化成功的通知要等待游戏代码加载后
---
SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java | 131 +++++++++++++++++++++++++++++++++----------
1 files changed, 100 insertions(+), 31 deletions(-)
diff --git a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
index eff80fe..9531b08 100644
--- a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
+++ b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
@@ -9,10 +9,9 @@
import android.content.pm.PackageManager;
import android.net.Uri;
import android.provider.Settings;
+import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.ContextCompat;
import android.widget.Toast;
-
-import androidx.core.app.ActivityCompat;
-import androidx.core.content.ContextCompat;
import com.quicksdk.BaseCallBack;
import com.quicksdk.Extend;
@@ -33,6 +32,8 @@
import com.secondworld.sdk.utils.CodeA2U;
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