| | |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System; |
| | | using Cysharp.Threading.Tasks; |
| | | |
| | | |
| | | public class SDKUtils : SingletonMonobehaviour<SDKUtils> |
| | |
| | | Free = 1,// 默认 |
| | | Quick = 10, //quick |
| | | Hy = 15, //欢游 |
| | | Gaore = 20, // 20-高热 - 硬核渠道 |
| | | Qudong = 21, //21-趣动 - 海外渠道 |
| | | } |
| | | |
| | | //权限申请回调 |
| | |
| | | { |
| | | get; private set; |
| | | } |
| | | |
| | | public static string channelSign = ""; //不同渠道的打包标识 |
| | | |
| | | // 是否同意隐私政策 |
| | | public bool IsAgreeSecret = false; |
| | |
| | | |
| | | public void Init() |
| | | { |
| | | ynmbxxjUtil.Instance.Init(); // sdk临时用,后续新做SDK后删除 |
| | | Device = new DeviceInfo(); |
| | | string uid = LocalSave.GetString("Device_uniqueID"); |
| | | //Debug.Log(Math.Abs(System.Environment.TickCount)); |
| | |
| | | } |
| | | else |
| | | { |
| | | builtinAssetCopyFinished = VersionConfig.config.version == builtinAssetsCopyFinishVersion; |
| | | builtinAssetCopyFinished = VersionConfig.Get().version == builtinAssetsCopyFinishVersion; |
| | | } |
| | | #endif |
| | | #if UNITY_IOS || UNITY_STANDALONE |
| | |
| | | } |
| | | else |
| | | { |
| | | builtinAssetCopyFinished = VersionConfig.config.version == builtinAssetsCopyFinishVersion; |
| | | builtinAssetCopyFinished = VersionConfig.Get().version == builtinAssetsCopyFinishVersion; |
| | | } |
| | | |
| | | var assetsCopyFinishVersion = LocalSave.GetString("AssetCopyCompleted_IOSorStandalone"); |
| | |
| | | } |
| | | else |
| | | { |
| | | AssetCopyFinished = VersionConfig.config.version == assetsCopyFinishVersion; |
| | | AssetCopyFinished = VersionConfig.Get().version == assetsCopyFinishVersion; |
| | | } |
| | | |
| | | #elif UNITY_ANDROID |
| | | SyncClientPackageID(); |
| | | #endif |
| | | |
| | | if (Application.platform == RuntimePlatform.WebGLPlayer) |
| | | { |
| | | // WebGL 无原生 SDK 回调,直接标记完成 |
| | | InitFinished = true; |
| | | } |
| | | else |
| | | { |
| | | InitFinished = false; |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.Init; |
| | | m_Json["appID"] = VersionConfig.config.appId; |
| | | m_Json["gameID"] = VersionConfig.config.gameId; |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | InitFinished = false; |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.Init; |
| | | m_Json["appID"] = VersionConfig.Get().appId; |
| | | m_Json["gameID"] = VersionConfig.Get().gameId; |
| | | SendMessageToSDK(m_Json); |
| | | #endif |
| | | StartCoroutine("ProcessNetworkStatus"); |
| | | } |
| | |
| | | public void SyncClientPackageID() |
| | | { |
| | | #if UNITY_ANDROID |
| | | VersionConfig.GetAsync().ContinueWith(config => |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.ClientPackage; |
| | | m_Json["clientPkgID"] = config.clientPackageFlag; |
| | | SendMessageToSDK(m_Json); |
| | | }).Forget(); |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.ClientPackage; |
| | | m_Json["clientPkgID"] = VersionConfig.Get().clientPackageFlag; |
| | | SendMessageToSDK(m_Json); |
| | | #endif |
| | | } |
| | | |
| | |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | //评分 |
| | | public void GoToReview() |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.GoToReview; |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | #endregion |
| | | |
| | | #region 处理与SDK交互的底层方法 |
| | |
| | | |
| | | private void SendMessageToSDK(JsonData json) |
| | | { |
| | | |
| | | #if !UNITY_EDITOR |
| | | #if UNITY_ANDROID |
| | | using (AndroidJavaClass H2engineSDK = new AndroidJavaClass("com.wgyx.sdk.UnityMsgHandler")) |
| | | if (VersionConfig.Get().appId == "sghy") |
| | | { |
| | | H2engineSDK.CallStatic("onUnityMessage", json.ToJson()); |
| | | using (AndroidJavaClass H2engineSDK = new AndroidJavaClass("com.xssg.sdk.UnityMsgHandler")) |
| | | { |
| | | H2engineSDK.CallStatic("onUnityMessage", json.ToJson()); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | using (AndroidJavaClass H2engineSDK = new AndroidJavaClass("com.wgyx.sdk.UnityMsgHandler")) |
| | | { |
| | | H2engineSDK.CallStatic("onUnityMessage", json.ToJson()); |
| | | } |
| | | } |
| | | #elif UNITY_IOS |
| | | AotSdkUtility.IOSUniyMessageHandle(json.ToJson()); |
| | |
| | | { |
| | | ChannelPlatform = E_ChannelPlatform.Quick; |
| | | } |
| | | |
| | | else if (_channelPlatform.Equals("gaore")) |
| | | { |
| | | ChannelPlatform = E_ChannelPlatform.Gaore; |
| | | } |
| | | else if (_channelPlatform.Equals("sghy")) |
| | | { |
| | | ChannelPlatform = E_ChannelPlatform.Qudong; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | case CodeA2U.FreePlatformInitOk: |
| | | |
| | | channelSign = _json["channelSign"].ToString(); |
| | | if (onFreePlatformInitOk != null) |
| | | { |
| | | onFreePlatformInitOk(); |
| | |
| | | Application.Quit(); |
| | | } |
| | | break; |
| | | case CodeA2U.GetAdAward: |
| | | if (AdsManager.Instance.waitAdID > 0) |
| | | { |
| | | AdsManager.Instance.GetAdsAward(AdsManager.Instance.waitAdID); |
| | | AdsManager.Instance.waitAdID = 0; |
| | | } |
| | | break; |
| | | case CodeA2U.AdLoadFail: |
| | | AdsManager.Instance.lastLoadErrorTime = Time.time; |
| | | break; |
| | | } |
| | | onSdkMsg?.Invoke(_code, _json); |
| | | } |
| | |
| | | public const int PingfenCallBack = 113; //评分回调 和 GotoShopOK 不一样 具体看使用区分 |
| | | public const int GotoShopOK = 115; //前往商店成功 |
| | | public const int GotoFBOK = 116; |
| | | public const int GetAdAward = 117; //广告播放成功发放奖励 |
| | | public const int AdLoadFail = 118; //广告加载失败 |
| | | #endregion |
| | | } |
| | | |
| | |
| | | public const int DownloadStart = 110; |
| | | public const int DownloadEnd = 111; |
| | | public const int ShareToFaceBook = 112; |
| | | public const int GoToPingfen = 113; //前往评分 和 GotoShop = 121; 有区别 |
| | | public const int GoToReview = 113; //前往评分 和 GotoShop = 121; 有区别 |
| | | public const int ShowAccountView = 114; |
| | | public const int RoleLoginOut = 119; //角色登出 |
| | | public const int FansHouse = 120; //粉丝屋 论坛等 |
| | | public const int GotoShop = 121; //前往商店 |
| | | // public const int FansHouse = 120; //粉丝屋 论坛等 |
| | | // public const int GotoShop = 121; //前往商店 |
| | | public const int TrackEvent = 122; //自定义事件 |
| | | /** |
| | | * 极光推送 |
| | | * */ |
| | | public const int JPushAddLocalMessage = 200; |
| | | public const int JPushRemoveLocalMessage = 201; |
| | | public const int PlayAds = 123; //播放广告 |
| | | /** |
| | | * IOS特殊需求 |
| | | */ |
| | |
| | | public int totalMemory; |
| | | } |
| | | |
| | | #region 自由sdk相关 |
| | | #region sdk相关 |
| | | |
| | | public UnityAction onFreePlatformInitOk; |
| | | public UnityAction onFreePlatformInitFail; |
| | |
| | | #endif |
| | | } |
| | | |
| | | public void FreePlatformBindPhone() |
| | | { |
| | | #if UNITY_ANDROID |
| | | AndroidJavaClass _jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); |
| | | AndroidJavaObject _jo = _jc.GetStatic<AndroidJavaObject>("currentActivity"); |
| | | _jo.Call("BindPhone"); |
| | | #endif |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 自由SDK登陆 |
| | | /// SDK登陆 |
| | | /// </summary> |
| | | public void FreePlatformLogin() |
| | | { |
| | |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | public void TencentLogin(string param) |
| | | { |
| | | #if !UNITY_EDITOR |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.TencentLogin; |
| | | if (!string.IsNullOrEmpty(param)) |
| | | { |
| | | m_Json["param"] = param; |
| | | } |
| | | SendMessageToSDK(m_Json); |
| | | #endif |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 自由SDK登出 |
| | |
| | | // FreePlatformLogin(); |
| | | #endif |
| | | } |
| | | public void ShowAccountView() |
| | | { |
| | | #if !UNITY_EDITOR |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.ShowAccountView; |
| | | SendMessageToSDK(m_Json); |
| | | |
| | | // FreePlatformLogin(); |
| | | |
| | | #endif |
| | | } |
| | | public void FreePlatformSwitchAccount() |
| | | { |
| | | #if UNITY_ANDROID |
| | | AndroidJavaClass _jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); |
| | | AndroidJavaObject _jo = _jc.GetStatic<AndroidJavaObject>("currentActivity"); |
| | | _jo.Call("SwitchAccount"); |
| | | #endif |
| | | } |
| | | |
| | | private Dictionary<string, string> m_PaymentTable = new Dictionary<string, string>(); |
| | | private string m_EncodeKey = "03sujm7gerywdvyd5vkkk772rs4by230"; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 自由SDK支付 fixed sdk 支付逻辑修改 |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | if (!isBuyGameCash && gameCash >= money * 100) |
| | | { |
| | | VersionConfig.GetAsync().ContinueWith(config => |
| | | |
| | | UIManager.Instance.CloseWindow<GotoChargeWin>(); |
| | | if (DayRemind.Instance.GetDayRemind(DayRemind.DJQTip)) |
| | | { |
| | | UIManager.Instance.CloseWindow<GotoChargeWin>(); |
| | | |
| | | |
| | | if (DayRemind.Instance.GetDayRemind(DayRemind.DJQTip)) |
| | | { |
| | | var pack = new CA125_tagCMCoinBuyOrderInfo(); |
| | | pack.AppID = config.appId; |
| | | pack.AppIDLen = (byte)pack.AppID.Length; |
| | | pack.OrderInfo = cpInfo; |
| | | pack.OrderInfoLen = (byte)pack.OrderInfo.Length; |
| | | GameNetSystem.Instance.SendInfo(pack); |
| | | } |
| | | else |
| | | { |
| | | ConfirmCancel.ShowPopConfirm( |
| | | Language.Get("Mail101"), |
| | | Language.Get("GameCashRule1", money, title), |
| | | (bool isOk) => |
| | | var pack = new CA125_tagCMCoinBuyOrderInfo(); |
| | | pack.AppID = VersionConfig.Get().appId; |
| | | pack.AppIDLen = (byte)pack.AppID.Length; |
| | | pack.OrderInfo = cpInfo; |
| | | pack.OrderInfoLen = (byte)pack.OrderInfo.Length; |
| | | GameNetSystem.Instance.SendInfo(pack); |
| | | } |
| | | else |
| | | { |
| | | ConfirmCancel.ShowPopConfirm( |
| | | Language.Get("Mail101"), |
| | | Language.Get("GameCashRule1", money, title), |
| | | (bool isOk) => |
| | | { |
| | | if (isOk) |
| | | { |
| | | if (isOk) |
| | | { |
| | | var pack = new CA125_tagCMCoinBuyOrderInfo(); |
| | | pack.AppID = config.appId; |
| | | pack.AppIDLen = (byte)pack.AppID.Length; |
| | | pack.OrderInfo = cpInfo; |
| | | pack.OrderInfoLen = (byte)pack.OrderInfo.Length; |
| | | GameNetSystem.Instance.SendInfo(pack); |
| | | } |
| | | var pack = new CA125_tagCMCoinBuyOrderInfo(); |
| | | pack.AppID = VersionConfig.Get().appId; |
| | | pack.AppIDLen = (byte)pack.AppID.Length; |
| | | pack.OrderInfo = cpInfo; |
| | | pack.OrderInfoLen = (byte)pack.OrderInfo.Length; |
| | | GameNetSystem.Instance.SendInfo(pack); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | }).Forget(); |
| | | |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | //#if !(UNITY_IOS || UNITY_IPHONE) |
| | | // string storeOrderInfo = orderInfo.StoreOrderInfo; |
| | | //#else |
| | | // string storeOrderInfo = orderInfo.StoreOrderInfo2; |
| | | //#endif |
| | | #if !(UNITY_IOS || UNITY_IPHONE) |
| | | string storeOrderInfo = orderInfo.StoreOrderInfo; |
| | | #else |
| | | string storeOrderInfo = orderInfo.StoreOrderInfo2; |
| | | #endif |
| | | |
| | | VersionConfig.GetAsync().ContinueWith(config => |
| | | { |
| | | #if UNITY_EDITOR |
| | | Debug.LogFormat("充值: {0}-{1}-{2}", title, money, cpInfo); |
| | | return; |
| | | #endif |
| | | #if UNITY_EDITOR |
| | | Debug.LogFormat("充值: {0}-{1}-{2}", title, money, cpInfo); |
| | | return; |
| | | #endif |
| | | |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.FreePlatformPay; |
| | | m_Json["orderId"] = DateTime.Now.ToString("yyyyMMddHHmmss") + UnityEngine.Random.Range(100000, 999999).ToString(); |
| | | m_Json["mount"] = money.ToString(); |
| | | m_Json["cpInfo"] = cpInfo; |
| | | //m_Json["storeOrderInfo"] = storeOrderInfo; |
| | | m_Json["title"] = title; |
| | | m_Json["roleID"] = PlayerDatas.Instance.baseData.PlayerID; |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV.ToString(); |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = config.productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.FreePlatformPay; |
| | | m_Json["orderId"] = DateTime.Now.ToString("yyyyMMddHHmmss") + UnityEngine.Random.Range(100000, 999999).ToString(); |
| | | m_Json["mount"] = money.ToString(); |
| | | m_Json["cpInfo"] = cpInfo; |
| | | m_Json["storeOrderInfo"] = storeOrderInfo; |
| | | m_Json["title"] = title; |
| | | m_Json["roleID"] = PlayerDatas.Instance.baseData.PlayerID; |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV.ToString(); |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = VersionConfig.Get().productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | m_Json["num"] = 1; |
| | | |
| | | #if UNITY_IOS |
| | | m_Json["identifier"] = config.bundleIdentifier; |
| | | #endif |
| | | SendMessageToSDK(m_Json); |
| | | }).Forget(); |
| | | |
| | | |
| | | #if UNITY_IOS |
| | | m_Json["identifier"] = VersionConfig.Get().bundleIdentifier; |
| | | #endif |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 分享到facebook |
| | | /// /// </summary> |
| | | public void ShareToFaceBook(int type) |
| | | { |
| | | // Debug.Log("越南分享"); |
| | | // m_Json.Clear(); |
| | | // m_Json["code"] = CodeU2A.ShareToFaceBook; |
| | | // m_Json["type"] = type; |
| | | // SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 去商店评论 |
| | | /// </summary> |
| | | public void GoToPingfen() |
| | | { |
| | | // Debug.Log("越南评分"); |
| | | // m_Json.Clear(); |
| | | // m_Json["code"] = CodeU2A.GoToPingfen; |
| | | // SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | //前往商店 |
| | | public void GoToShop() |
| | | { |
| | | // m_Json.Clear(); |
| | | // m_Json["code"] = CodeU2A.GotoShop; |
| | | // SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @param context |
| | | * @param event 事件名 |
| | | * @param value 事件值,如果没有可以传"" |
| | | * @param isRepeatReport 是否重复上报。根据运营需求是否排重上报,true可以重复上报,false仅上报一次 |
| | | */ |
| | | public void TraceEvent(string eventName, string value, bool isRepeatReport) |
| | | { |
| | | // Debug.Log("越南事件汇报 :" + eventName); |
| | | // m_Json.Clear(); |
| | | // m_Json["code"] = CodeU2A.TrackEvent; |
| | | // m_Json["eventName"] = eventName; |
| | | // m_Json["value"] = value; |
| | | // m_Json["isRepeatReport"] = isRepeatReport; |
| | | // SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | private void BuildFreePlatformInfo(JsonData json) |
| | | { |
| | |
| | | FreePlatformInfo.phone = 0; |
| | | } |
| | | |
| | | private void HandleFreePlatformRegisteOk(JsonData json) |
| | | { |
| | | // BuildFreePlatformInfo(json); |
| | | } |
| | | |
| | | private void HandleFreePlatformLoginOk(JsonData data) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | // public void OnServerChargeOk(HA106_tagMCCoinToGoldReport pack) |
| | | // { |
| | | // string orderID = pack.OrderID; |
| | | // uint coin = pack.Coin; |
| | | // OperationLogCollect.Instance.RecordEvent(9, coin); |
| | | |
| | | // if (onFreePlatformPayOk != null) |
| | | // { |
| | | // onFreePlatformPayOk(); |
| | | // } |
| | | |
| | | // m_Json.Clear(); |
| | | // m_Json["code"] = CodeU2A.PayFinished; |
| | | // m_Json["orderID"] = orderID; |
| | | // m_Json["payType"] = "_default_"; |
| | | // m_Json["moneyType"] = "CNY"; |
| | | // m_Json["money"] = (float)coin / 100; |
| | | // SendMessageToSDK(m_Json); |
| | | // } |
| | | |
| | | public void SendRegistEvent(bool _ok, string _result) |
| | | { |
| | | if (_ok) |
| | | { |
| | | if (!_result.Equals("0")) |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.SendRegistEvent; |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void SendLoginEvent() |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.SendLoginEvent; |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | public void SendHideFloatWin() |
| | | { |
| | |
| | | |
| | | public void CreateRoleOk(string roleID, string roleName, string time) |
| | | { |
| | | VersionConfig.GetAsync().ContinueWith(config => |
| | | if (VersionConfig.Get().appId == "ryzj") |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.CreateRole; |
| | | SendGaoreEvent(2); |
| | | return; |
| | | } |
| | | |
| | | m_Json["roleID"] = roleID; |
| | | m_Json["roleName"] = roleName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = "1"; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = config.productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["createTime"] = time; |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | }).Forget(); |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.CreateRole; |
| | | |
| | | m_Json["roleID"] = roleID; |
| | | m_Json["roleName"] = roleName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = "1"; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = VersionConfig.Get().productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["createTime"] = time; |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | public void DownloadStart() |
| | |
| | | |
| | | public void RoleLogin() |
| | | { |
| | | VersionConfig.GetAsync().ContinueWith(config => |
| | | if (VersionConfig.Get().appId == "ryzj") |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.RoleLogin; |
| | | SendGaoreEvent(3); |
| | | return; |
| | | } |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.RoleLogin; |
| | | |
| | | m_Json["roleID"] = PlayerDatas.Instance.baseData.PlayerID.ToString(); |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = config.productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | }).Forget(); |
| | | m_Json["roleID"] = PlayerDatas.Instance.baseData.PlayerID.ToString(); |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = VersionConfig.Get().productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | |
| | | //事件名称 由运营提供 |
| | | //必传的2个事件, |
| | | // "tutorial_complete" 完成新手引导。 |
| | | // "AchieveLevel_40" 到达40级 |
| | | void SendOverSeaTraceEvent(string eventName, string value = "") |
| | | { |
| | | //海外趣动版本,如有其他海外不同需区分 |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.TrackEvent; |
| | | m_Json["eventName"] = eventName; |
| | | m_Json["value"] = value; |
| | | |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | |
| | | //高热版本 |
| | | void SendGaoreEvent(int dataType, string pageType = "无", string pageName = "无", string pageItemId = "无", |
| | | int money = 0, string orderID = "") |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.TrackEvent; |
| | | m_Json["dataType"] = dataType; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV; |
| | | m_Json["roleID"] = PlayerDatas.Instance.baseData.PlayerID; |
| | | m_Json["orderId"] = orderID; |
| | | m_Json["mount"] = money; //充值分 |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond; |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds < 0 ? 0 : TimeUtility.CreateSeconds; |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["familyLV"] = PlayerDatas.Instance.fairyData.fairy != null ? PlayerDatas.Instance.fairyData.fairy.FamilyLV.ToString() : "0"; |
| | | m_Json["familyLeaderName"] = PlayerDatas.Instance.fairyData.fairy != null ? PlayerDatas.Instance.fairyData.fairy.LeaderName : ""; |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower; |
| | | m_Json["job"] = 0; |
| | | m_Json["jobName"] = "无"; |
| | | m_Json["sex"] = "无"; |
| | | m_Json["jobID"] = 0; |
| | | m_Json["jobIDName"] = "无"; |
| | | m_Json["vipLevel"] = 0; |
| | | if (PlayerDatas.Instance.fairyData.mine != null && PlayerDatas.Instance.fairyData.mine.FmLV > 0) |
| | | { |
| | | if (PlayerDatas.Instance.fairyData.mine.FmLV == 3) |
| | | { |
| | | m_Json["faimilyRoleID"] = 1; |
| | | } |
| | | else if (PlayerDatas.Instance.fairyData.mine.FmLV == 2) |
| | | { |
| | | m_Json["faimilyRoleID"] = 2; |
| | | } |
| | | else |
| | | { |
| | | m_Json["faimilyRoleID"] = 3; |
| | | } |
| | | |
| | | m_Json["faimilyRoleName"] = RichTextMsgReplaceConfig.GetRichReplace("FAMILY", PlayerDatas.Instance.fairyData.mine.FmLV); |
| | | } |
| | | else |
| | | { |
| | | m_Json["faimilyRoleID"] = 0; |
| | | m_Json["faimilyRoleName"] = "无"; |
| | | } |
| | | m_Json["opentime"] = TimeUtility.openServerTick; |
| | | m_Json["pageType"] = pageType; |
| | | m_Json["pageName"] = pageName; |
| | | m_Json["pageItemId"] = pageItemId; |
| | | |
| | | SendMessageToSDK(m_Json); |
| | | |
| | | } |
| | | |
| | | //事件记录 |
| | | public void SendTraceEvent(int dataType, string pageType = "无", string pageName = "无", string pageItemId = "无", |
| | | int money = 0, string orderID = "") |
| | | { |
| | | var appID = VersionConfig.Get().appId; |
| | | if (VersionConfig.Get().appId == "ryzj") |
| | | { |
| | | SendGaoreEvent(dataType, pageType, pageName, pageItemId, money, orderID); |
| | | return; |
| | | } |
| | | else if (appID == "sghy") |
| | | { |
| | | SendOverSeaTraceEvent("tutorial_complete"); |
| | | } |
| | | } |
| | | |
| | | public void RoleLevelUp() |
| | | { |
| | | VersionConfig.GetAsync().ContinueWith(config => |
| | | var appID = VersionConfig.Get().appId; |
| | | if (appID == "ryzj") |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.RoleLevelUp; |
| | | SendGaoreEvent(4); |
| | | return; |
| | | } |
| | | else if (appID == "sghy" && PlayerDatas.Instance.baseData.LV == 40) |
| | | { |
| | | SendOverSeaTraceEvent("AchieveLevel_40"); |
| | | } |
| | | |
| | | m_Json["roleID"] = PlayerDatas.Instance.PlayerId.ToString(); |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = config.productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["levelUpTime"] = TimeUtility.AllSeconds.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | }).Forget(); |
| | | |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.RoleLevelUp; |
| | | |
| | | m_Json["roleID"] = PlayerDatas.Instance.PlayerId.ToString(); |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = VersionConfig.Get().productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["levelUpTime"] = TimeUtility.AllSeconds.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | if (PlayerDatas.Instance.PlayerId == 0) |
| | | return; |
| | | |
| | | if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin) |
| | | |
| | | if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin) |
| | | return; |
| | | |
| | | VersionConfig.GetAsync().ContinueWith(config => |
| | | if (VersionConfig.Get().appId == "ryzj") |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.RoleLoginOut; |
| | | SendGaoreEvent(5); |
| | | return; |
| | | } |
| | | |
| | | m_Json["roleID"] = PlayerDatas.Instance.PlayerId.ToString(); |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = config.productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["levelUpTime"] = TimeUtility.AllSeconds.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | }).Forget(); |
| | | } |
| | | |
| | | public void GotoFansHouse() |
| | | { |
| | | Debug.Log("越南点赞"); |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.FansHouse; |
| | | m_Json["code"] = CodeU2A.RoleLoginOut; |
| | | |
| | | m_Json["roleID"] = PlayerDatas.Instance.PlayerId.ToString(); |
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; |
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; |
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; |
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; |
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV; |
| | | m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString(); |
| | | m_Json["money"] = PlayerDatas.Instance.baseData.diamond.ToString(); |
| | | m_Json["gameName"] = VersionConfig.Get().productName; |
| | | m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); |
| | | m_Json["levelUpTime"] = TimeUtility.AllSeconds.ToString(); |
| | | m_Json["createTime"] = TimeUtility.CreateSeconds.ToString(); |
| | | m_Json["familyID"] = PlayerDatas.Instance.baseData.FamilyId.ToString(); |
| | | m_Json["fightPower"] = PlayerDatas.Instance.baseData.FightPower.ToString(); |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 插件相关 |
| | | |
| | | #endregion |
| | | |
| | | #region 极光推送相关 |
| | | public void GeTui_SendLocalMessage(JsonData jsonData) |
| | | #region 广告 |
| | | //type为0立即播放视频,1为预加载 |
| | | public void PlayAds(string adid) |
| | | { |
| | | return; |
| | | Debug.Log("GeTui_SendLocalMessage:" + jsonData["id"]); |
| | | // ------ 举例 ------ |
| | | // JsonData _params = new JsonData (); |
| | | // _params ["code"] = 2005; |
| | | // _params ["id"] = 5;// id 重要, 标示每个通知的更新或者移除 |
| | | // _params ["title"] = "the title";// 推送标题 |
| | | // _params ["subtitle"] = "the subtitle";// 副标题 |
| | | // _params ["content"] = "the content";// 具体内容 |
| | | // _params ["badge"] = -1;// 角标 |
| | | // |
| | | // // 以下为决定应该多久后弹出此通知 |
| | | // System.TimeSpan ts = System.DateTime.UtcNow - new System.DateTime (1970, 1, 1, 0, 0, 0, 0); |
| | | // long ret = System.Convert.ToInt64 (ts.TotalSeconds) + 3;// 表示3秒后 |
| | | // _params ["fireTime"] = ret; |
| | | #if !UNITY_EDITOR |
| | | jsonData["code"] = CodeU2A.JPushAddLocalMessage; |
| | | #if UNITY_ANDROID |
| | | jsonData["fireTime"] = (long)jsonData["fireTime"] * 1000; |
| | | #endif |
| | | SendMessageToSDK(jsonData); |
| | | #endif |
| | | } |
| | | |
| | | public void GeTui_RemoveLocalMessage(string id) |
| | | { |
| | | return; |
| | | Debug.Log("GeTui_RemoveLocalMessage:" + id); |
| | | #if !UNITY_EDITOR |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.JPushRemoveLocalMessage; |
| | | m_Json["id"] = id;// id 重要, 标示每个通知的更新或者移除 |
| | | |
| | | m_Json["code"] = CodeU2A.PlayAds; |
| | | m_Json["adid"] = adid; |
| | | m_Json["type"] = 0; |
| | | SendMessageToSDK(m_Json); |
| | | #endif |
| | | } |
| | | |
| | | //打开带广告的界面 提前加载 |
| | | public void LoadAds(string adid) |
| | | { |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.PlayAds; |
| | | m_Json["adid"] = adid; |
| | | m_Json["type"] = 1; |
| | | SendMessageToSDK(m_Json); |
| | | } |
| | | #endregion |
| | | |
| | | } |