public async Task UpdateApiTicket() { var getPlayerMessage = new GetPlayerMessage(); var downloadSettingsMessage = new DownloadSettingsMessage { Hash = "54b359c97e46900f87211ef6e6dd0b7f2a3ea1f5" //"05daf51635c82611d1aac95c0b051d3ec088a930" }; var serverRequest = RequestBuilder.GetInitialRequestEnvelope( new Request { RequestType = RequestType.GetPlayer, RequestMessage = getPlayerMessage.ToByteString() }, new Request { RequestType = RequestType.DownloadSettings, RequestMessage = downloadSettingsMessage.ToByteString() }); var serverResponse = await PostProto <Request>(Resources.RpcUrl, serverRequest); if (serverResponse?.AuthTicket != null) { _client.AuthTicket.MergeFrom(serverResponse.AuthTicket); } }
private async Task SetServer() { #region Standard intial request messages in right Order var getPlayerMessage = new GetPlayerMessage(); var checkChallengeMessage = new CheckChallengeMessage(); #endregion var serverRequest = RequestBuilder.GetInitialRequestEnvelope( new Request { RequestType = RequestType.GetPlayer, RequestMessage = getPlayerMessage.ToByteString() }, new Request { RequestType = RequestType.CheckChallenge, RequestMessage = checkChallengeMessage.ToByteString() }); var serverResponse = await PostProto <Request>(Resources.RpcUrl, serverRequest); if (serverResponse.AuthTicket == null) { _client.AuthToken = null; throw new AccessTokenExpiredException(); } _client.AuthTicket = serverResponse.AuthTicket; _client.ApiUrl = serverResponse.ApiUrl; }
private async Task SetServer() { { var getPlayerMessage = new GetPlayerMessage(); var getHatchedEggsMessage = new GetHatchedEggsMessage(); var getInventoryMessage = new GetInventoryMessage { LastTimestampMs = DateTime.UtcNow.ToUnixTime() }; var checkAwardedBadgesMessage = new CheckAwardedBadgesMessage(); var downloadSettingsMessage = new DownloadSettingsMessage { //05daf51635c82611d1aac95c0b051d3ec088a930 Hash = "05daf51635c82611d1aac95c0b051d3ec088a930" }; var serverRequest = _apiBaseRpc.RequestBuilder.GetRequestEnvelope( 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.DownloadItemTemplates }); var serverResponse = await _apiBaseRpc.PostProto <Request>(Resources.RpcUrl, serverRequest); if (serverResponse.AuthTicket == null) { throw new AccessTokenExpiredException(); } _client.AuthTicket = serverResponse.AuthTicket; _client.ApiUrl = serverResponse.ApiUrl; } }
private async Task SetServer() { #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 = "54b359c97e46900f87211ef6e6dd0b7f2a3ea1f5" //"05daf51635c82611d1aac95c0b051d3ec088a930" }; #endregion 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() }); var serverResponse = await PostProto <Request>(Resources.RpcUrl, serverRequest); if (serverResponse.AuthTicket == null) { _client.AuthToken = null; throw new AccessTokenExpiredException(); } _client.AuthTicket = serverResponse.AuthTicket; _client.ApiUrl = serverResponse.ApiUrl; }
private async Task SetServer() { #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 = "b8fa9757195897aae92c53dbcf8a60fb3d86d745" }; #endregion 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() }); var serverResponse = await PostProto <Request>(Resources.RpcUrl, serverRequest); if (serverResponse.AuthTicket == null) { _client.AuthToken = null; throw new AccessTokenExpiredException(); } _client.AuthTicket = serverResponse.AuthTicket; _client.ApiUrl = serverResponse.ApiUrl; }
private async Task SetServer() { #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 = "05daf51635c82611d1aac95c0b051d3ec088a930" }; #endregion 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() }); var serverResponse = await PostProto<Request>(Resources.RpcUrl, serverRequest); if (serverResponse.AuthTicket == null) { _client.AuthToken = null; throw new AccessTokenExpiredException(); } _client.AuthTicket = serverResponse.AuthTicket; _client.ApiUrl = serverResponse.ApiUrl; }
public async Task UpdateApiTicket(int attempt = 0) { var getPlayerMessage = new GetPlayerMessage(); var downloadSettingsMessage = new DownloadSettingsMessage { Hash = _downloadHash }; var serverRequest = RequestBuilder.GetInitialRequestEnvelope( new Request { RequestType = RequestType.GetPlayer, RequestMessage = getPlayerMessage.ToByteString() }, new Request { RequestType = RequestType.DownloadSettings, RequestMessage = downloadSettingsMessage.ToByteString() }); var serverResponse = await PostProto <Request>(Resources.RpcUrl, serverRequest); if (serverResponse?.AuthTicket != null) { _client.AuthTicket.MergeFrom(serverResponse.AuthTicket); } else if (attempt < 5) { Debug.WriteLine("Requesting new OAuth token, old one is outdated"); try { _client.AuthToken = await _login.GetAccessToken().ConfigureAwait(false); } catch (Exception) { await Task.Delay(15000); await _client.Login.DoLogin(); return; } if (_client.AuthToken == null) { await Task.Delay(15000); await _client.Login.DoLogin(); } else { await UpdateApiTicket(++attempt); } } }
private async Task SetServer() { { var getPlayerMessage = new GetPlayerMessage(); var getHatchedEggsMessage = new GetHatchedEggsMessage(); var getInventoryMessage = new GetInventoryMessage { LastTimestampMs = DateTime.UtcNow.ToUnixTime() }; var checkAwardedBadgesMessage = new CheckAwardedBadgesMessage(); var downloadSettingsMessage = new DownloadSettingsMessage { //05daf51635c82611d1aac95c0b051d3ec088a930 Hash = "05daf51635c82611d1aac95c0b051d3ec088a930" }; var serverRequest = _apiBaseRpc.RequestBuilder.GetRequestEnvelope( 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.DownloadItemTemplates }); var serverResponse = await _apiBaseRpc.PostProto<Request>(Resources.RpcUrl, serverRequest); if (serverResponse.AuthTicket == null) throw new AccessTokenExpiredException(); _client.AuthTicket = serverResponse.AuthTicket; _client.ApiUrl = serverResponse.ApiUrl; } }
private async Task SendInitialRequests() { var getPlayerMessage = new GetPlayerMessage(); var getHatchedEggsMessage = new GetHatchedEggsMessage(); var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); var lastTimeStamp = Convert.ToInt64((DateTime.UtcNow - epoch).TotalMilliseconds); var getInventoryMessage = new GetInventoryMessage { LastTimestampMs = lastTimeStamp }; var checkAwardedBadgesMessage = new CheckAwardedBadgesMessage(); var downloadSettingsMessage = new DownloadSettingsMessage { Hash = "05daf51635c82611d1aac95c0b051d3ec088a930" }; var serverRequest = RequestGenerator.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() }); var serverResponse = await PostProto <Request>(Constants.RpcUrl, serverRequest); if (serverResponse.AuthTicket == null) { _session.AccessToken.Token = null; //throw new AccessTokenExpiredException(); } _session.AuthTicket = serverResponse.AuthTicket; _session.ApiUrl = serverResponse.ApiUrl; }
private async Task SetServer() { #region Standard intial request messages in right Order var getPlayerMessage = new GetPlayerMessage(); #endregion var serverRequest = RequestBuilder.GetInitialRequestEnvelope( new Request { RequestType = RequestType.GetPlayer, RequestMessage = getPlayerMessage.ToByteString() } ); var serverResponse = await PostProto <Request>(Resources.RpcUrl, serverRequest); if (serverRequest.StatusCode == (int)StatusCode.AccessDenied) { throw new AccountLockedException(); } if (serverResponse.AuthTicket == null) { Client.AccessToken = null; throw new AccessTokenExpiredException(); } Client.AccessToken.AuthTicket = serverResponse.AuthTicket; if (serverResponse.StatusCode == (int)StatusCode.Redirect) { Client.ApiUrl = serverResponse.ApiUrl; } }
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"); } } }