Exemplo n.º 1
0
        public void PostDeviceInit(System.Action <bool> callback = null)
        {
            ControlServerLogHelper.Instance.PostPlayerFollowRecord(PlayerFollowRecordSceneId.DeviceInitStart, "", false);

            GlobalConfig globalConfig = GlobalConfig.GetInstance();
            IBridge      bridge       = DBOSManager.getDBOSManager().getBridge();

            string url = GlobalConfig.GetInstance().CSURLV + "DeviceInit";

            url += "?os=" + globalConfig.PlatformName;
            url += "&os_ver=" + bridge.getOSVersion();
            url += "&imei=" + bridge.GetPhoneIDFA();
            url += "&mac=" + bridge.getPhoneMAC();
            url += "&imsi=" + bridge.getPhoneIMSI();
            url += "&brand=";
            url += "&mobile=" + bridge.getPhoneModel();
            url += "&app_ver=" + bridge.getAppVersion();
            url += "&cpu_t=" + bridge.getCPUAPI();
            url += "&net=" + bridge.getNetType();
            url += "&device_mark=" + globalConfig.DeviceMark;
            url += "&provider=" + globalConfig.SDKName;
            url += "&device_id=";
            url += "&game_mark=" + globalConfig.GameMark;
            url += "&ram=" + bridge.getAvailMemory();
            url += "&rom=" + bridge.getStorageFreeSize();

            mPostDeviceInitFinishedCallback = callback;

            Debug.Log(string.Format("[PostDeviceInit] {0}", url));

            HttpRequest.Instance.GET(url, OnPostDeviceInitFinished, null);
        }
Exemplo n.º 2
0
    // 请求更新信息
    // 第三个res_v是之前的补丁(res3),第四个res_v是新的散文件0.unity3d的版本(res4)
    // 这里将res_v=0是为了获取当前最新版本的下载地址(版本号一致时服务器不返回下载信息的)
    public string getUpdatePatchUrl()
    {
        IBridge bridge = DBOSManager.getOSBridge();

        int localVersion = 0;

        if (xpatch.XPatchConfig.IsBinPatchPlatform())
        {
            localVersion = xpatch.XPatchManager.Instance.LocalVersion;
        }

        var    fmt  = "platform={0}&app_v={1}&mobile={2}&lib_v=0.0.0&game_mark={3}&cpu=armeabi-v7a&api_ver=1.0&device_mark={4}&imei={5}&res_v=0&res_v=0&res_v={6}&res_v={7}&server_id={8}";
        string sign = string.Format(fmt, "ios_" + bridge.getSDKName(), bridge.getAppVersion(),
                                    bridge.getPhoneModel(), GlobalConfig.Instance.GameMark, GlobalConfig.Instance.DeviceMark, bridge.GetPhoneIDFA(),
                                    localVersion, 0, GrayServerManager.Instance.GetLoginServer());

        Debug.Log(string.Format("controlServer_oriSign_ZYGXCheck2 = {0}", sign));
        sign = WWW.EscapeURL(Utils.AES.Encode(sign, Const.CS_URL_KEY, Const.CS_URL_IV));

        string url = string.Format("{0}ZYGXCheck2?sign={1}", GlobalConfig.GetInstance().CSURLVEX, sign);

        return(url);
    }
Exemplo n.º 3
0
    // 获取更新信息,加密版
    public string getUpdateCheckUrlEx()
    {
        IBridge bridge = DBOSManager.getOSBridge();

        var    fmt  = "platform={0}&app_v={1}&mobile={2}&lib_v=0.0.0&game_mark={3}&cpu=armeabi-v7a&api_ver=1.0&device_mark={4}&imei={5}&res_v=0&res_v=0";
        string sign = string.Format(fmt, "ios_" + bridge.getSDKName(), bridge.getAppVersion(),
                                    bridge.getPhoneModel(), GlobalConfig.Instance.GameMark, GlobalConfig.Instance.DeviceMark, bridge.GetPhoneIDFA());

        Debug.Log(string.Format("controlServer_oriSign_ZYGXCheck2 = {0}", sign));
        sign = WWW.EscapeURL(Utils.AES.Encode(sign, Const.CS_URL_KEY, Const.CS_URL_IV));

        string url = string.Format("{0}ZYGXCheck2?sign={1}", GlobalConfig.GetInstance().CSURLVEX, sign);

        return(url);
    }
Exemplo n.º 4
0
    //获取更新信息
    public string getUpdateCheckUrl()
    {
        IBridge bridge = DBOSManager.getOSBridge();
        string  url    = string.Format("{0}UpdateCheck?platform={1}&app_v={2}&mobile={3}&lib_v=0.0.0&game_mark={4}&cpu=armeabi-v7a&api_ver=1.0&device_mark={5}&imei={6}&res_v=0&res_v=0",
                                       GlobalConfig.GetInstance().CSURLV, "ios_" + bridge.getSDKName(), bridge.getAppVersion(), bridge.getPhoneModel(), GlobalConfig.Instance.GameMark, GlobalConfig.Instance.DeviceMark, bridge.GetPhoneIDFA());

        return(url);
    }
Exemplo n.º 5
0
    public void GotoCSLogin(string msg)
    {
        mIsLogining = true;
        Hashtable hashtable = MiniJSON.JsonDecode(msg) as Hashtable;

        if (hashtable != null)
        {
            if (hashtable.Count <= 2)
            {
                if (mLoginCallback != null)
                {
                    endLogin((int)SDK_STATU_CODE.LOGIN_CANCEL, xc.TextHelper.SDKLoginCancel);
                }
                return;
            }
            GlobalConfig globalConfig = GlobalConfig.GetInstance();

            string loginAction = hashtable["_LoginAction_"] as string;

            string data = "";
            foreach (DictionaryEntry de in hashtable)
            {
                string key   = de.Key.ToString();
                string value = de.Value.ToString();
                if (!key.Equals("_LoginAction_"))
                {
                    value = WWW.EscapeURL(value, System.Text.Encoding.UTF8);
                    data  = data + key + "=" + value + "&";
                }
            }

            IBridge bridge = DBOSManager.getOSBridge();

            string url = "";
            // AppID超过350使用新接口
            if (GlobalConfig.Instance.AppId > 350)
            {
                url = globalConfig.LoginURL + "eagleV4/" + loginAction + "?" + data + "game_mark=" + GlobalConfig.Instance.GameMark + "&net=" + bridge.getNetType() + "&provider=" + GlobalConfig.Instance.Channel;
                // os_ext 韩国版用来标识是one_store还是google_play,还是app_store
                if (Const.Region == RegionType.KOREA)
                {
                    url += "&os_ext=" + Application.identifier;
                    url += "&sdkUserId=" + bridge.getSdkUserID();
                }
            }
            else
            {
                url = globalConfig.LoginURL + loginAction + "?" + data + "game_mark=" + GlobalConfig.Instance.GameMark + "&net=" + bridge.getNetType() + "&provider=" + GlobalConfig.Instance.Channel;
                if (Const.Region == RegionType.KOREA)
                {
                    url += "&os_ext=" + Application.identifier;
                    url += "&sdkUserId=" + bridge.getSdkUserID();
                }
            }

#if UNITY_IPHONE
            url = globalConfig.LoginURL + loginAction + "?" + data + "game_mark=" + GlobalConfig.Instance.GameMark + "&net=" + bridge.getNetType();
            if (Const.Region == RegionType.KOREA)
            {
                url += "&os_ext=" + Application.identifier;
                url += "&sdkUserId=" + bridge.getSdkUserID();
            }
            //ios 在xcode 已经传了
#endif



#if UNITY_IPHONE
            url = url + "&device_mark=" + globalConfig.DeviceMark;
            Debug.Log("SDKControler.GotoCSLogin" + url);
#endif

            // 加上二级渠道
            url = url + "&sub_chn=" + globalConfig.SubChannel;

            // 扩展参数
            Hashtable extendParams = new Hashtable();
            extendParams.Add("did", WWW.EscapeURL(bridge.getSDKDeviceID()));
            extendParams.Add("idfa", WWW.EscapeURL(bridge.GetPhoneIDFA()));
            extendParams.Add("extc", bridge.getExtChannel()); //三级渠道

            var extend = MiniJSON.JsonEncode(extendParams);
            url = url + "&extend=" + extend;

            MainGame.HttpRequest.GET(url, OnCSLoginFinished, null);
        }
        else
        {
            if (mLoginCallback != null)
            {
                mLoginCallback((int)SDK_STATU_CODE.LOGIN_MSG_FAIL, xc.TextHelper.SDKLoginCancel);
            }
            return;
        }
    }
Exemplo n.º 6
0
        /// <summary>
        /// 玩家登录轨迹
        /// </summary>
        public void PostPlayerFollowRecord(PlayerFollowRecordSceneId sceneId, string desc = "", bool isEnterGame = true)
        {
            if (sceneId == PlayerFollowRecordSceneId.EnterFirstScene)
            {
                // TestinExternalLog
                DBOSManager.getOSBridge().log2OSCmd("TestinExternalLog", mLogContent);

                // TestinExternalLog
                var logContent = string.Format(mLogFmt, 3 - QualitySetting.GraphicLevel);
                DBOSManager.getOSBridge().log2OSCmd("TestinExternalLog", logContent);

                // 云梯第一次进入场景
                ControlServerLogHelper.Instance.PostCloudLadderEventAction(CloudLadderMarkEnum.enter_game);
            }

            FieldInfo fi = sceneId.GetType().GetField(sceneId.ToString());

            DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
            string scene = (attributes.Length > 0) ? attributes[0].Description : sceneId.ToString();

            LanguageType languageType = Const.Language;

            fi         = languageType.GetType().GetField(languageType.ToString());
            attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
            string language = (attributes.Length > 0) ? attributes[0].Description : languageType.ToString();

            //GameDebug.LogError("PostPlayerFollowRecord scene: " + scene);

            GlobalConfig globalConfig = GlobalConfig.GetInstance();

            GlobalConfig.LoginInfoStruct loginInfo = globalConfig.LoginInfo;
            IBridge bridge = DBOSManager.getOSBridge();

            string url = globalConfig.CommonURL + "playerFollowRecord";

            url += "?gameMark=" + globalConfig.GameMark;
            if (string.IsNullOrEmpty(loginInfo.AccName) == true)
            {
                url += "&account=none";
            }
            else
            {
                url += "&account=" + loginInfo.AccName;
            }
            if (loginInfo.ServerInfo != null)
            {
                url += "&server_id=" + loginInfo.ServerInfo.ServerId;
            }
            url += "&role_id=" + loginInfo.RId;
            url += "&role_name=" + WWW.EscapeURL(loginInfo.Name);
            url += "&level=" + loginInfo.Level;
            if (isEnterGame == true)
            {
                url += "&vip=" + VipHelper.GetVipValidLevel();
            }
            else
            {
                url += "&vip=0";
            }
            url += "&provider=" + globalConfig.SDKName;
            url += "&scene=" + WWW.EscapeURL(scene);
            url += "&msg=" + WWW.EscapeURL(desc);
            url += "&position=0";
            url += "&os=" + globalConfig.PlatformName;
            url += "&osVer=" + bridge.getOSVersion();
            url += "&brand=" + WWW.EscapeURL(bridge.getBrand());
            url += "&model=" + WWW.EscapeURL(bridge.getPhoneModel());
            url += "&job=" + loginInfo.Job;
            url += "&net=" + bridge.getNetType();
            if (isEnterGame == true)
            {
                if (Game.Instance.ServerTime > 0)
                {
                    url += "&time=" + Game.Instance.ServerTime;
                }
                else
                {
                    url += "&time=" + System.Convert.ToUInt32(xc.Maths.Util.ConvertDateTimeToTimestamp(System.DateTime.Now));;
                }
            }
            else
            {
                url += "&time=0";
            }
            url += "&device_mark=" + globalConfig.DeviceMark;
            url += "&start_time=" + globalConfig.StartTimeStamp;
#if UNITY_IPHONE
            url += "&imei=" + bridge.GetPhoneIDFA();
#else
            url += "&imei=" + bridge.getPhoneIMEI();
#endif
            url += "&mac=" + bridge.getPhoneMAC();
            url += "&imsi=" + bridge.getPhoneIMSI();
            url += "&app_version=" + bridge.getAppVersion();
            url += "&chn_id=" + bridge.getSdkID();

            url += "&carrier=" + WWW.EscapeURL(bridge.getOperator());
            url += "&jbk=" + bridge.isRoot();
            url += "&did=" + bridge.getSDKDeviceID();
            url += "&tz=" + WWW.EscapeURL(bridge.getTimeZone());
            url += "&lang=" + language;
            url += "&width=" + bridge.getWindowWidth();
            url += "&height=" + bridge.getWindowHeigh();
            url += "&apil=" + bridge.getAPILevel();
            url += "&idfa=" + bridge.GetPhoneIDFA();
            url += "&idfv=" + bridge.getPhoneIDFV();
            url += "&ip=" + WWW.EscapeURL(bridge.getLocalIpAddress());
            url += "&wifi=" + WWW.EscapeURL(bridge.getWfName());
            url += "&factory=" + WWW.EscapeURL(bridge.getManufacturer());
            url += "&game_version=" + VersionInfoManager.Instance.GameVersion;
            url += "&appId=" + bridge.getAppID();
            url += "&sdkv=" + bridge.getSDKVersionName();

            HttpRequest.Instance.GET(url, null, null);

            GameDebug.Log("PostPlayerFollowRecord: " + scene);
        }
Exemplo n.º 7
0
        public static void CreatePkgAccPhoneInfos(List <PkgAccPhoneInfo> infos)
        {
            IBridge      bridge       = DBOSManager.getOSBridge();
            GlobalConfig globalConfig = GlobalConfig.GetInstance();

            infos.Clear();

            // 手机平台
            PkgAccPhoneInfo info = new PkgAccPhoneInfo();

            info.key = Encoding.UTF8.GetBytes("platform");
            info.val = Encoding.UTF8.GetBytes(globalConfig.PlatformName);
            GameDebug.Log("platform: " + globalConfig.PlatformName);
            infos.Add(info);

            // 系统版本
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("sys_ver");
            info.val = Encoding.UTF8.GetBytes(SystemInfo.operatingSystem);
            GameDebug.Log("system: " + SystemInfo.operatingSystem);
            infos.Add(info);

            // 手机型号
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("model");
            info.val = Encoding.UTF8.GetBytes(SystemInfo.deviceModel);
            GameDebug.Log("model: " + SystemInfo.deviceModel);
            infos.Add(info);

            // 芯片型号参数
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("chip");
            //CPU核数#CPU主频#CPU名称#GPU名称
            string chip_info = string.Format("{0}#{1}#{2}#{3}", SystemInfo.processorCount, SystemInfo.processorFrequency, SystemInfo.processorType, SystemInfo.graphicsDeviceName);

            info.val = Encoding.UTF8.GetBytes(chip_info);
            GameDebug.Log("chip_info: " + chip_info);
            infos.Add(info);

            // imei
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("imei");
            info.val = Encoding.UTF8.GetBytes(bridge.getPhoneIMEI());
            GameDebug.Log("imei: " + bridge.getPhoneIMEI());
            infos.Add(info);

            // imsi
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("imsi");
            info.val = Encoding.UTF8.GetBytes(bridge.getPhoneIMSI());
            GameDebug.Log("imsi: " + bridge.getPhoneIMSI());
            infos.Add(info);

            // mac
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("mac");
            info.val = Encoding.UTF8.GetBytes(bridge.getPhoneMAC());
            GameDebug.Log("mac: " + bridge.getPhoneMAC());
            infos.Add(info);

            // 画质选择
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("grahics");
            info.val = Encoding.UTF8.GetBytes(QualitySetting.GraphicLevel.ToString());
            GameDebug.Log("grahics: " + QualitySetting.GraphicLevel);
            infos.Add(info);

            // 召唤物开关
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("summon");
            var summon_str_val = (GlobalSettings.Instance.SummonMonsterVisible ? 1 : 0).ToString();

            info.val = Encoding.UTF8.GetBytes(summon_str_val);
            GameDebug.Log("summon: " + summon_str_val);
            infos.Add(info);

            // 同屏人数
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("player");
            info.val = Encoding.UTF8.GetBytes(GlobalSettings.Instance.MaxPlayerCount.ToString());
            GameDebug.Log("player: " + GlobalSettings.Instance.MaxPlayerCount);
            infos.Add(info);

            // 联网方式
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("net");
            var net_str_val = ((uint)Application.internetReachability).ToString();

            info.val = Encoding.UTF8.GetBytes(net_str_val);
            GameDebug.Log("net: " + net_str_val);
            infos.Add(info);

            // 分辨率
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("screen");
            var screnn_str_val = string.Format("{0}*{1}", Screen.width, Screen.height);

            info.val = Encoding.UTF8.GetBytes(screnn_str_val);
            GameDebug.Log("screen: " + screnn_str_val);
            infos.Add(info);

            // DeviceMark
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("device_mark");
            info.val = Encoding.UTF8.GetBytes(globalConfig.DeviceMark);
            GameDebug.Log("device_mark: " + globalConfig.DeviceMark);
            infos.Add(info);

            // appid
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("appid");
            info.val = Encoding.UTF8.GetBytes(globalConfig.AppId.ToString());
            GameDebug.Log("appid: " + globalConfig.AppId);
            infos.Add(info);

            if (globalConfig.LoginInfo.ServerInfo != null)
            {
                // 控制服务器的id
                info     = new PkgAccPhoneInfo();
                info.key = Encoding.UTF8.GetBytes("control_id");
                info.val = Encoding.UTF8.GetBytes(globalConfig.LoginInfo.ServerInfo.ServerId.ToString());
                GameDebug.Log("control_id: " + globalConfig.LoginInfo.ServerInfo.ServerId);
                infos.Add(info);

                // 服务器名字
                info     = new PkgAccPhoneInfo();
                info.key = Encoding.UTF8.GetBytes("server_name");
                info.val = Encoding.UTF8.GetBytes(globalConfig.LoginInfo.ServerInfo.Name);
                GameDebug.Log("server_name: " + globalConfig.LoginInfo.ServerInfo.Name);
                infos.Add(info);
            }

            // did
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("did");
            info.val = Encoding.UTF8.GetBytes(bridge.getSDKDeviceID());
            GameDebug.Log("did: " + bridge.getSDKDeviceID());
            infos.Add(info);

            // idfa
            info     = new PkgAccPhoneInfo();
            info.key = Encoding.UTF8.GetBytes("idfa");
            info.val = Encoding.UTF8.GetBytes(bridge.GetPhoneIDFA());
            GameDebug.Log("idfa: " + bridge.GetPhoneIDFA());
            infos.Add(info);

            // lua扩展
            object[]      param       = { };
            System.Type[] return_type = { typeof(string) };
            object[]      objs        = LuaScriptMgr.Instance.CallLuaFunction_return(LuaScriptMgr.Instance.Lua.Global, "GetExtendPhoneInfo", param, return_type);
            if (objs != null && objs.Length > 0)
            {
                if (objs[0] != null)
                {
                    string        ret       = (string)objs[0];
                    System.Object retObject = MiniJSON.JsonDecode(ret);
                    if (retObject != null)
                    {
                        Hashtable hashtable = retObject as Hashtable;
                        if (hashtable != null)
                        {
                            foreach (DictionaryEntry kv in hashtable)
                            {
                                info     = new PkgAccPhoneInfo();
                                info.key = Encoding.UTF8.GetBytes(kv.Key.ToString());
                                info.val = Encoding.UTF8.GetBytes(kv.Value.ToString());
                                GameDebug.Log(kv.Key.ToString() + ": " + kv.Value.ToString());
                                infos.Add(info);
                            }
                        }
                    }
                }
            }

            if (Const.Region == RegionType.SEASIA)
            {
                //当前选中语言
                info     = new PkgAccPhoneInfo();
                info.key = Encoding.UTF8.GetBytes("language");
                info.val = Encoding.UTF8.GetBytes(TranslateManager.GetInstance().ConvertToServerLang(Const.Language).ToString());
                GameDebug.Log("language: " + TranslateManager.GetInstance().ConvertToServerLang(Const.Language).ToString());
                infos.Add(info);
            }

            // os_ext 韩国版用来标识是one_store还是google_play,还是app_store
            if (Const.Region == RegionType.KOREA)
            {
                info     = new PkgAccPhoneInfo();
                info.key = Encoding.UTF8.GetBytes("os_ext");
                info.val = Encoding.UTF8.GetBytes(Application.identifier);
                GameDebug.Log("os_ext: " + Application.identifier);
                infos.Add(info);
            }
        }