Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="appVersion"></param>
        /// <param name="locale"></param>
        public bool QueueDownloadRemoteConfigVersionRequest(uint appVersion, string locale)
        {
            var message = new DownloadRemoteConfigVersionMessage
            {
                AppVersion         = appVersion,
                DeviceManufacturer = Client.DeviceProfile.HardwareManufacturer,
                DeviceModel        = Client.DeviceProfile.HardwareModel,
                Locale             = locale,
                Platform           = Client.DeviceProfile.Platform
            };

            return(Client.QueueRequest(RequestType.DownloadRemoteConfigVersion, message));
        }
Esempio n. 2
0
        public static Request GetDownloadRemoteConfigVersionMessageRequest(Client client)
        {
            var downloadRemoteConfigVersionMessage = new DownloadRemoteConfigVersionMessage
            {
                Platform   = client.Platform,
                AppVersion = client.AppVersion
            };

            return(new Request
            {
                RequestType = RequestType.DownloadRemoteConfigVersion,
                RequestMessage = downloadRemoteConfigVersionMessage.ToByteString()
            });
        }
Esempio n. 3
0
        public static Request GetDownloadRemoteConfigVersionMessageRequest(Client client)
        {
            var downloadRemoteConfigVersionMessage = new DownloadRemoteConfigVersionMessage
            {
                Platform           = client.Platform,
                DeviceManufacturer = DeviceSetup.SelectedDevice.DeviceInfo.HardwareManufacturer,
                DeviceModel        = DeviceSetup.SelectedDevice.DeviceInfo.DeviceModel,
                Locale             = LocaleInfo.Language, // Locale is a string, just adding Language (it's a guess)
                AppVersion         = client.AppVersion
            };

            return(new Request
            {
                RequestType = RequestType.DownloadRemoteConfigVersion,
                RequestMessage = downloadRemoteConfigVersionMessage.ToByteString()
            });
        }
Esempio n. 4
0
        private async Task SetServer(bool noRetry = false)
        {
            #region Standard intial request messages in right Order

            var getPlayerMessage      = new GetPlayerMessage();
            var getHatchedEggsMessage = new GetHatchedEggsMessage();
            var getInventoryMessage   = new GetInventoryMessage
            {
                LastTimestampMs = DateTime.UtcNow.ToUnixTime()
            };
            var checkAwardedBadgesMessage = new CheckAwardedBadgesMessage();
            var downloadSettingsMessage   = new DownloadSettingsMessage
            {
                Hash = _downloadHash //"05daf51635c82611d1aac95c0b051d3ec088a930"
            };

            var downloadRemoteConfigMessage = new DownloadRemoteConfigVersionMessage
            {
                Platform   = Platform.Ios,
                AppVersion = 4500
            };

            #endregion

            try
            {
                var serverRequest = RequestBuilder.GetInitialRequestEnvelope(
                    new Request
                {
                    RequestType    = RequestType.GetPlayer,
                    RequestMessage = getPlayerMessage.ToByteString()
                }, new Request
                {
                    RequestType    = RequestType.GetHatchedEggs,
                    RequestMessage = getHatchedEggsMessage.ToByteString()
                }, new Request
                {
                    RequestType    = RequestType.GetInventory,
                    RequestMessage = getInventoryMessage.ToByteString()
                }, new Request
                {
                    RequestType    = RequestType.CheckAwardedBadges,
                    RequestMessage = checkAwardedBadgesMessage.ToByteString()
                },
                    new Request
                {
                    RequestType    = RequestType.DownloadSettings,
                    RequestMessage = downloadSettingsMessage.ToByteString()
                },
                    new Request
                {
                    RequestType    = RequestType.DownloadRemoteConfigVersion,
                    RequestMessage = downloadRemoteConfigMessage.ToByteString()
                });
                var serverResponse = await PostProto <Request>(Resources.RpcUrl, serverRequest);

                if (serverResponse.AuthTicket == null)
                {
                    _client.AuthToken = null;
                    throw new AccessTokenExpiredException(
                              "Check your internet connection and try to restart the profile");
                }
                _client.AuthTicket = serverResponse.AuthTicket;
                _client.ApiUrl     = serverResponse.ApiUrl;


                /*    var dlVerReq = RequestBuilder.GetRequestEnvelope(new Request
                 *  {
                 *      RequestType = RequestType.DownloadSettings,
                 *      RequestMessage = downloadSettingsMessage.ToByteString()
                 *  });
                 *
                 *  var dlVerResp = await PostProtoPayload<Request, DownloadSettingsResponse>(RequestType.DownloadSettings, dlVerReq);
                 */
            }
            catch (Exception)
            {
                if (!noRetry)
                {
                    await Task.Delay(15000);
                    await DoLogin();
                }
                else
                {
                    throw new Exception("Check your internet connection and try to restart the profile");
                }
            }
        }