public void SubmitLoginData(int level) { if (Application.platform == RuntimePlatform.Android) { if (!mInitialized) { EB.Debug.LogError("UCSDKManager.SubmitLoginData: not initialized"); return; } var user = Hub.LoginManager.LocalUser; if (user == null) { return; } var worlds = Hub.LoginManager.GameWorlds; var world = System.Array.Find(worlds, w => w.Id == user.WorldId); string worldName = world != null ? world.Name : (worlds.Length > 0 ? worlds[0].Name : "Default"); SDKParams loginGameRole = new SDKParams(); loginGameRole.Add(SDKParamKey.STRING_ZONE_ID, user.WorldId.ToString()); loginGameRole.Add(SDKParamKey.STRING_ZONE_NAME, worldName); loginGameRole.Add(SDKParamKey.STRING_ROLE_ID, user.Id.Value.ToString()); loginGameRole.Add(SDKParamKey.STRING_ROLE_NAME, user.Name); loginGameRole.Add(SDKParamKey.LONG_ROLE_LEVEL, (long)level); loginGameRole.Add(SDKParamKey.LONG_ROLE_CTIME, (long)user.CreateTime); UCGameSdk.submitRoleData(loginGameRole); } }
/// <summary> /// 打开指定页面 /// </summary> public static void showPage(SDKParams sdkParams) { string action = string.Empty; if (sdkParams.ContainsKey(SDKParamKey.ACTION)) { action = (string)sdkParams[SDKParamKey.ACTION]; } string business = string.Empty; if (sdkParams.ContainsKey(SDKParamKey.BUSINESS)) { business = (string)sdkParams[SDKParamKey.BUSINESS]; } int orientation = 0; if (sdkParams.ContainsKey(SDKParamKey.ORIENTATION)) { orientation = (int)sdkParams[SDKParamKey.ORIENTATION]; } callSdkApi("showPage", action, business, orientation); }
public void Pay(EB.IAP.Item item, EB.IAP.Transaction transaction, System.Action <int, object> callback) { if (!mInitialized) { EB.Debug.LogError("UCSDKManager.Pay: not initialized"); callback(UCStatusCode.NO_INIT, null); return; } mPayCallback += callback; var user = Hub.Instance.LoginManager.LocalUser; long uid = user.Id.Value; //int worldId = user.WorldId; string name = user.Name; int level = user.Level; object extraInfo = EB.JSON.Parse(transaction.payload); SDKParams param = new SDKParams(); param.Add(SDKParamKey.ACCOUNT_ID, EB.Dot.String("accountId", extraInfo, "0")); param.Add(SDKParamKey.CP_ORDER_ID, EB.Dot.String("cpOrderId", extraInfo, transaction.transactionId)); param.Add(SDKParamKey.AMOUNT, EB.Dot.String("amount", extraInfo, string.Format("{0:N2}", item.cost))); param.Add(SDKParamKey.SERVER_ID, EB.Dot.String("serverId", extraInfo, "0")); param.Add(SDKParamKey.ROLE_ID, EB.Dot.String("roleId", extraInfo, uid.ToString())); param.Add(SDKParamKey.ROLE_NAME, EB.Dot.String("roleName", extraInfo, name)); param.Add(SDKParamKey.GRADE, EB.Dot.String("grade", extraInfo, level.ToString())); param.Add(SDKParamKey.CALLBACK_INFO, EB.Dot.String("callbackInfo", extraInfo, "0")); param.Add(SDKParamKey.NOTIFY_URL, EB.Dot.String("notifyUrl", extraInfo, mNotifyUrl)); param.Add(SDKParamKey.SIGN_TYPE, "MD5"); param.Add(SDKParamKey.SIGN, transaction.signature); UCGameSdk.pay(param); }
public static void SetSplashImages() { if (!File.Exists(logo1_Path)) { Debug.LogError($"{logo1_Path} is null"); } if (!File.Exists(logo2_Path)) { Debug.LogError($"{logo2_Path} is null"); } if (!File.Exists(splash_Path)) { Debug.LogError($"{splash_Path} is null"); } PlayerSettings.SplashScreen.show = true; PlayerSettings.SplashScreen.showUnityLogo = false; SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); if (sdkParams.SDKType == celia.game.SDKType.Native) { SetLogos(true); SetStaticSplash(false); } else { SetLogos(false); SetStaticSplash(true); } }
/// <summary> /// 删除Assets/Plugins/Android文件夹文件,复原配置 /// </summary> private void SetSDKFolderBack() { //DeleteFolder(pluginAndroidPath); if (Directory.Exists(pluginAndroidPath)) { Directory.Delete(pluginAndroidPath, true); } SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); sdkParams.SDKType = SDKType.None; sdkParams.GameId = 193; sdkParams.AppKey = ""; sdkParams.PayKey = ""; sdkParams.AppId = 101356; sdkParams.CchId = 213; sdkParams.MdId = 200000; EditorUtility.SetDirty(sdkParams); PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, "com.xlycs.rastar"); PlayerSettings.Android.keystoreName = ""; PlayerSettings.Android.keystorePass = ""; PlayerSettings.Android.keyaliasName = ""; PlayerSettings.Android.keyaliasPass = ""; }
/// <summary> /// 把SDK信息写入配置文件 /// </summary> private void SetSDKInfo(JObject sdkParams, SDKType sdkType) { if (sdkParams == null) { return; } int gameId = sdkParams.Value <int>("GameId"); string appKey = sdkParams.Value <string>("AppKey"); string payKey = sdkParams.Value <string>("PayKey"); int appID = sdkParams.Value <int>("AppId"); int cchID = sdkParams.Value <int>("CchId"); int mdID = sdkParams.Value <int>("MdId"); string AppleAppleID = sdkParams.Value <string>("AppleAppleID"); // 保存到包内配置 SDKParams pakageSDKParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); pakageSDKParams.SDKType = sdkType; pakageSDKParams.GameId = gameId; pakageSDKParams.AppKey = appKey; pakageSDKParams.PayKey = payKey; pakageSDKParams.AppId = appID; pakageSDKParams.CchId = cchID; pakageSDKParams.MdId = mdID; pakageSDKParams.AppleAppId = AppleAppleID; EditorUtility.SetDirty(pakageSDKParams); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
public static void IOSRebackSettings() { SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); sdkParams.SDKType = SDKType.None; EditorUtility.SetDirty(sdkParams); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Debug.Log("--**--还原默认配置--**--"); }
public static void InitializeSDK(System.Action <string, bool> callback) { if (mInitialized) { EB.Debug.LogWarning("UCSDKManager.InitializeSDK: Initialized"); callback(null, true); return; } if (Application.platform != RuntimePlatform.Android) { callback("Not support", false); return; } mInitCallback += callback; if (!mInitializing) { mInitializing = true; SparxUCSDKManager.InitCallback += delegate(bool sucess, string msg) { EB.Debug.Log("InitCallback: sucess={0}, msg={1}", sucess, msg); mInitializing = false; if (sucess) { mInitialized = true; } if (mInitCallback != null) { mInitCallback(mInitialized ? null : msg, mInitialized); mInitCallback = null; } }; new GameObject("uc_plugin_listener", typeof(SparxUCSDKManager)); SDKParams param = new SDKParams(); param.Add(SDKParamKey.DEBUG_MODE, false); param.Add(SDKParamKey.GAME_ID, defaultGameId); GameParamInfo info = new GameParamInfo(); info.GameId = defaultGameId; info.Orientation = UCOrientation.LANDSCAPE; info.EnablePayHistory = true; info.EnableUserChange = true; param.Add(SDKParamKey.GAME_PARAMS, info); UCGameSdk.initSDK(param); } }
public static void IOSGameSettings() { //加密配置文件 //剧情相关 //服务器ip端口配置 SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); sdkParams.SDKType = SDKType.None; EditorUtility.SetDirty(sdkParams); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Debug.Log("--**--2.IOSGameSettings--**--"); }
/// <summary> /// 设置玩家选择的游戏分区及角色信息 /// </summary> public static void submitRoleData(SDKParams sdkParams) { string zoneId = string.Empty; if (sdkParams.ContainsKey(SDKParamKey.STRING_ZONE_ID)) { zoneId = (string)sdkParams[SDKParamKey.STRING_ZONE_ID]; } string zoneName = string.Empty; if (sdkParams.ContainsKey(SDKParamKey.STRING_ZONE_NAME)) { zoneName = (string)sdkParams[SDKParamKey.STRING_ZONE_NAME]; } string roleId = string.Empty; if (sdkParams.ContainsKey(SDKParamKey.STRING_ROLE_ID)) { roleId = (string)sdkParams[SDKParamKey.STRING_ROLE_ID]; } string roleName = string.Empty; if (sdkParams.ContainsKey(SDKParamKey.STRING_ROLE_NAME)) { roleName = (string)sdkParams[SDKParamKey.STRING_ROLE_NAME]; } long roleLevel = 0; if (sdkParams.ContainsKey(SDKParamKey.LONG_ROLE_LEVEL)) { roleLevel = (long)sdkParams[SDKParamKey.LONG_ROLE_LEVEL]; } long roleCTime = 0; if (sdkParams.ContainsKey(SDKParamKey.LONG_ROLE_CTIME)) { roleCTime = (long)sdkParams[SDKParamKey.LONG_ROLE_CTIME]; } callSdkApi("submitRoleData", zoneId, zoneName, roleId, roleName, roleLevel, roleCTime); }
public void InitializeSDK(object options, System.Action <string, bool> callback) { if (mInitialized) { EB.Debug.LogWarning("UCSDKManager.InitializeSDK: Initialized"); callback(null, true); return; } if (Application.platform != RuntimePlatform.Android) { callback(null, false); return; } mInitCallback += callback; mNotifyUrl = EB.Dot.String("notifyUrl", options, mNotifyUrl); bool debugMode = EB.Dot.Bool("debugMode", options, false); int gameId = EB.Dot.Integer("gameId", options, 0); if (!mInitializing) { mInitializing = true; Hub.RunInBackground = true; new GameObject("uc_plugin_listener", typeof(SparxUCSDKManager)); SDKParams param = new SDKParams(); param.Add(SDKParamKey.DEBUG_MODE, debugMode); param.Add(SDKParamKey.GAME_ID, gameId); GameParamInfo info = new GameParamInfo(); info.GameId = gameId; info.Orientation = UCOrientation.LANDSCAPE; info.EnablePayHistory = true; info.EnableUserChange = true; param.Add(SDKParamKey.GAME_PARAMS, info); UCGameSdk.initSDK(param); } }
/// <summary> /// 删除Assets/Plugins/iOS文件夹文件,复原配置 /// </summary> private void SetSDKFolderBack() { if (Directory.Exists(pluginIOSPath)) { Directory.Delete(pluginIOSPath, true); } SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); sdkParams.SDKType = SDKType.None; sdkParams.AppKey = ""; sdkParams.PayKey = ""; EditorUtility.SetDirty(sdkParams); PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.iOS, "com.rastargame.celia"); PlayerSettings.Android.keystoreName = ""; PlayerSettings.Android.keystorePass = ""; PlayerSettings.Android.keyaliasName = ""; PlayerSettings.Android.keyaliasPass = ""; }
/// <summary> /// 初始化SDK /// </summary> public static void initSDK(SDKParams sdkParams) { bool debugMode = false; if (sdkParams.ContainsKey(SDKParamKey.DEBUG_MODE)) { debugMode = (bool)sdkParams[SDKParamKey.DEBUG_MODE]; } string gameId = string.Empty; if (sdkParams.ContainsKey(SDKParamKey.GAME_ID)) { gameId = sdkParams[SDKParamKey.GAME_ID].ToString(); } GameParamInfo gameInfo = new GameParamInfo(); if (sdkParams.ContainsKey(SDKParamKey.GAME_PARAMS)) { gameInfo = (GameParamInfo)sdkParams[SDKParamKey.GAME_PARAMS]; } int orientation; switch (gameInfo.Orientation) { case UCOrientation.PORTRAIT: orientation = 0; break; case UCOrientation.LANDSCAPE: orientation = 1; break; default: orientation = 0; break; } callSdkApi("initSDK", debugMode, gameInfo.GameId, gameInfo.EnablePayHistory, gameInfo.EnableUserChange, orientation); }
private void generateGradleProperties(string path) { SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); string gradlePropertiesFile = path + "/gradle.properties"; if (File.Exists(gradlePropertiesFile)) { File.Delete(gradlePropertiesFile); } StreamWriter writer = File.CreateText(gradlePropertiesFile); writer.WriteLine("org.gradle.jvmargs = -Xmx8192M"); writer.WriteLine("android.useAndroidX = true"); writer.WriteLine("android.enableJetifier = true"); if (sdkParams.SDKType == celia.game.SDKType.Native) { writer.WriteLine("android.enableD8.desugaring = false"); writer.WriteLine("android.enableD8 = false"); } writer.Flush(); writer.Close(); }
/// <summary> /// 支付 /// </summary> public static void pay(SDKParams sdkParams) { string accountId = null; if (sdkParams.ContainsKey(SDKParamKey.ACCOUNT_ID)) { accountId = (string)sdkParams[SDKParamKey.ACCOUNT_ID]; } string cpOrderId = null; if (sdkParams.ContainsKey(SDKParamKey.CP_ORDER_ID)) { cpOrderId = (string)sdkParams[SDKParamKey.CP_ORDER_ID]; } string amount = null; if (sdkParams.ContainsKey(SDKParamKey.AMOUNT)) { amount = (string)sdkParams[SDKParamKey.AMOUNT]; } string serverId = null; if (sdkParams.ContainsKey(SDKParamKey.SERVER_ID)) { serverId = (string)sdkParams[SDKParamKey.SERVER_ID]; } string roleId = null; if (sdkParams.ContainsKey(SDKParamKey.ROLE_ID)) { roleId = (string)sdkParams[SDKParamKey.ROLE_ID]; } string roleName = null; if (sdkParams.ContainsKey(SDKParamKey.ROLE_NAME)) { roleName = (string)sdkParams[SDKParamKey.ROLE_NAME]; } string grade = null; if (sdkParams.ContainsKey(SDKParamKey.GRADE)) { grade = (string)sdkParams[SDKParamKey.GRADE]; } string callbackInfo = null; if (sdkParams.ContainsKey(SDKParamKey.CALLBACK_INFO)) { callbackInfo = (string)sdkParams[SDKParamKey.CALLBACK_INFO]; } string notifyUrl = null; if (sdkParams.ContainsKey(SDKParamKey.NOTIFY_URL)) { notifyUrl = (string)sdkParams[SDKParamKey.NOTIFY_URL]; } string signType = null; if (sdkParams.ContainsKey(SDKParamKey.SIGN_TYPE)) { signType = (string)sdkParams[SDKParamKey.SIGN_TYPE]; } string sign = null; if (sdkParams.ContainsKey(SDKParamKey.SIGN)) { sign = (string)sdkParams[SDKParamKey.SIGN]; } callSdkApi("pay", accountId, cpOrderId, amount, serverId, roleId, roleName, grade, callbackInfo, notifyUrl, signType, sign); }
/// <summary> /// 把SDK信息写入配置文件 /// </summary> private void SetSDKInfo(SDKType sdkType, JObject sdkParams) { if (sdkParams == null) { return; } int gameId = sdkParams.Value <int>("GameId"); string appKey = sdkParams.Value <string>("AppKey"); string payKey = sdkParams.Value <string>("PayKey"); int appID = sdkParams.Value <int>("AppId"); int cchID = sdkParams.Value <int>("CchId"); int mdID = sdkParams.Value <int>("MdId"); string AppleAppleID = sdkParams.Value <string>("AppleAppleID"); // 保存到包内配置 SDKParams pakageSDKParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset"); pakageSDKParams.SDKType = sdkType; pakageSDKParams.GameId = gameId; pakageSDKParams.AppKey = appKey; pakageSDKParams.PayKey = payKey; pakageSDKParams.AppId = appID; pakageSDKParams.CchId = cchID; pakageSDKParams.MdId = mdID; pakageSDKParams.AppleAppId = AppleAppleID; EditorUtility.SetDirty(pakageSDKParams); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); // SDK信息写入Android配置文件 string filePath = ""; string debugParamName = ""; string debugValue = ""; switch (sdkType) { case SDKType.None: return; case SDKType.Native: filePath = $"{pluginAndroidPath}/assets/sjoys_app.ini"; debugParamName = "debug"; debugValue = option.ReleaseLevel == ReleaseLevel.Alpha ? "1" : "0"; break; case SDKType.NativeChukai: filePath = $"{pluginAndroidPath}/assets/sdk_config.ini"; debugParamName = "loggerSwitch"; debugValue = option.ReleaseLevel == ReleaseLevel.Alpha ? "1" : "0"; break; case SDKType.Oversea: filePath = $"{pluginAndroidPath}/assets/rsdk/rastar_na_config.ini"; debugParamName = "Debug_Switch"; debugValue = option.ReleaseLevel == ReleaseLevel.Alpha ? "true" : "false"; break; case SDKType.CeliaOversea: AssetDatabase.Refresh(); return; } File.AppendAllText(filePath, $"\r\n\r\napp_id={appID}\r\n\r\ncch_id={cchID}\r\n\r\nmd_id={mdID}\r\n\r\napp_key={appKey}\r\n\r\n{debugParamName}={debugValue}"); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }