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; }