package com.secondworld.sdk.command;
|
|
|
import android.app.AlertDialog;
|
|
import com.secondworld.sdk.GameAppProxy;
|
import com.secondworld.sdk.MySdkMgr;
|
import com.secondworld.sdk.PlatformDiff;
|
import com.secondworld.sdk.PlatformSdkMgr;
|
import com.secondworld.sdk.UnityMsgHandler;
|
import com.secondworld.sdk.utils.CodeA2U;
|
import com.secondworld.sdk.utils.CodeU2A;
|
import com.secondworld.sdk.utils.DeviceUtil;
|
import com.secondworld.sdk.utils.LogUtil;
|
import com.unity3d.player.UnityPlayer;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
|
/**
|
* 游戏初始化
|
*/
|
public class CmdInit implements ICommand {
|
|
@Override
|
public int getCode() {
|
return CodeU2A.Init;
|
}
|
|
@Override
|
public void process(JSONObject json) throws JSONException {
|
GameAppProxy.appId = json.getString("appID");
|
|
long size = DeviceUtil.getTotalRAMSize() / 1024 / 1024;
|
LogUtil.debug("CmdInit", "内存:" + size + " mb");
|
if (size < 1024) {
|
LogUtil.w("CmdInit", "检测设备内存不满足运行程序标准,内存:" + size + " mb");
|
AlertDialog.Builder _builder = new AlertDialog.Builder(UnityPlayer.currentActivity);
|
_builder.setTitle("警告");
|
_builder.setCancelable(false);
|
_builder.setMessage("您的设备运行内存不满足要求,无法正常运行游戏");
|
_builder.setPositiveButton("确定", (dialogInterface, i) -> {
|
GameAppProxy.appExit();
|
});
|
_builder.show();
|
return;
|
}
|
//发送设备信息
|
Map<String, Object> _msgStruct = new HashMap<>();
|
_msgStruct.put("userAgent", System.getProperty("http.agent"));
|
_msgStruct.put("mac", DeviceUtil.getUniqueID());
|
_msgStruct.put("imei", "");
|
_msgStruct.put("android_id", DeviceUtil.getUniqueID());
|
_msgStruct.put("unique_id", DeviceUtil.getUniqueID());
|
_msgStruct.put("memoryTotal", size);
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.DeviceInfo,_msgStruct);
|
//通知sdk初始化完成
|
_msgStruct.clear();
|
_msgStruct.put("channelPlatform", PlatformDiff.I.platformName());
|
UnityMsgHandler.sendMessageToUnity(CodeA2U.SdkInitComplete,_msgStruct);
|
MySdkMgr.I.sdkInitState = PlatformSdkMgr.SdkInitState.SUCCEED;
|
LogUtil.debug("CmdInit", "Sdk初始化完成");
|
}
|
}
|