async void CheckVersion() { try { await Task.Delay(3000); AppInfo = new VersionAppInfo(); VersionApiData VData = await VersionService.Instance.CheckVersion(Merchantid); AppInfo = VData.AppInfo; var NewVersion = AppInfo.AppVersion; var Message = AppInfo.MessageForUpdateVersion; var url = AppInfo.PlayStoreURL; var UpdateType = AppInfo.UpdateType; string installedVersionNumber = CrossLatestVersion.Current.InstalledVersionNumber; Debug.WriteLine("Latest Version Number :", installedVersionNumber); double previousversion = Double.Parse(installedVersionNumber); Debug.WriteLine("Version Number :", previousversion); // update is optional if ((previousversion < NewVersion) && (UpdateType == "Optional")) { var update = await App.Current.MainPage.DisplayAlert("New Version", Message, "Yes", "No"); if (update) { Xamarin.Forms.Device.OpenUri(new Uri(url)); } } else if ((previousversion < NewVersion) && (UpdateType == "Mandatory")) { var update = await App.Current.MainPage.DisplayAlert("New Version", Message, "Yes", "No"); if (update) { Xamarin.Forms.Device.OpenUri(new Uri(url)); Process.GetCurrentProcess().Kill(); // Xamarin.Forms.Device.OpenUri(new Uri("market://details?id=com.getpy.deliver")); //await CrossLatestVersion.Current.OpenAppInStore(); } else { //Application.Current.Exit(); Process.GetCurrentProcess().Kill(); } } } catch { } }
//checking installed version async void CheckVersion() { try { AppInfo = new VersionAppInfo(); VersionApiData VData = await VersionService.Instance.CheckVersion("0"); AppInfo = VData.AppInfo; var NewVersion = AppInfo.AppVersion; var Message = AppInfo.MessageForUpdateVersion; var url = AppInfo.PlayStoreURL; var UpdateType = AppInfo.UpdateType; string installedVersionNumber = CrossLatestVersion.Current.InstalledVersionNumber; Debug.WriteLine("Latest Version Number :", installedVersionNumber); double previousversion = Double.Parse(installedVersionNumber); Debug.WriteLine("Version Number :", previousversion); // update is optional if ((previousversion < NewVersion) && (UpdateType == "Optional")) { var update = await App.Current.MainPage.DisplayAlert("New Version", Message, "Yes", "No"); if (update) { Xamarin.Forms.Device.OpenUri(new Uri(url)); } } else if ((previousversion < NewVersion) && (UpdateType == "Mandatory")) { var update = await App.Current.MainPage.DisplayAlert("New Version", Message, "Yes", "No"); if (update) { Xamarin.Forms.Device.OpenUri(new Uri(url)); } else { System.Diagnostics.Process.GetCurrentProcess().Kill(); } } } catch (Exception ex) { } }
public async Task <VersionApiData> CheckVersion(string merchantId) { string baseUrl = "https://getpymobileapp.azurewebsites.net/api/v2/auth/"; string url = string.Format("{0}{1}", baseUrl, "getMessageForVersion"); using (HttpClient Webclient = new HttpClient()) { var uri = new Uri(url); Dictionary <string, dynamic> payload = new Dictionary <string, dynamic>(); payload.Add("merchant_id", merchantId); var json = JsonConvert.SerializeObject(payload); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await Webclient.PostAsync(uri, content); if (response.IsSuccessStatusCode) { var rcontent = await response.Content.ReadAsStringAsync(); try { VersionApiResponse verData = JsonConvert.DeserializeObject <VersionApiResponse>(rcontent); Console.WriteLine("Response of custdetails Status is : " + verData.Status); if (verData.Status.ToLower() != "success") { System.Diagnostics.Debug.WriteLine("[BuildRequestNDisplay] Received non-success " + verData.Status); System.Diagnostics.Debug.WriteLine("[BuildRequestNDisplay] Received Response: " + content); return(null); } ResponseData = verData.Data; return(ResponseData); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Error in customer API " + e.Message); } } return(null); } }