Exemplo n.º 1
0
        /**
         * Verifica si existe una nueva version en la tienda disponible para
         * realizar la actualizacion de la aplicacion.
         * y cambia la bandera allowLogin para que se permita el login
         * en caso que sea necesario.
         */
        public async Task VerifyStoreVersion()
        {
            IAppInfo appInfo = DependencyService.Get <IAppInfo>();

            VersionResult result = await appInfo.NeedUpdateApp();

            if (result.isSuccess)
            {
                // si no es necesario actualizar permitimos el
                // login de manera tradicional
                // en caso contrario mostramos mensaje de error.
                if (!result.needUpdate)
                {
                    AllowNavigate = true;
                    return;
                }

                Device.BeginInvokeOnMainThread(async() =>
                {
                    await page.DisplayAlert("Nueva versión disponible",
                                            "Es necesario actualizar su aplicación para disfrutar de las nuevas características.",
                                            "Actualizar");

                    await Xamarin.Essentials.Launcher.TryOpenAsync(new Uri(appInfo.GotoStore()));
                    appInfo.CloseApp();
                });
            }
            else
            {
                await page.DisplayAlert("Error", result.error, "Cerrar");
            }
        }