Пример #1
0
        private async Task Initialization()
        {
            await DependencyService.Get <IUserPushTokenServices>().SaveDeviceToken();

            VersionCheck();
            async void VersionCheck()
            {
                await Task.Delay(TimeSpan.FromSeconds(3));

                if (!App.Configuration.IsVersionPrompt())
                {
                    await _appVersionProvider.CheckAppVersionAsync(PromptUpdate);

                    void PromptUpdate()
                    {
                        try
                        {
                            Device.BeginInvokeOnMainThread(async() =>
                            {
                                var updateMessage = string.Format(TextResources.UpdateMessageArgs,
                                                                  _appVersionProvider.AppName,
                                                                  _appVersionProvider.UpdateVersion);
                                var response = await DisplayAlert(TextResources.UpdateTitle, updateMessage,
                                                                  TextResources.Update,
                                                                  TextResources.Later);
                                App.Configuration.VersionPrompted();
                                if (response)
                                {
                                    _appVersionProvider.GotoAppleAppStoreAsync();
                                }
                            });
                        }
                        catch (Exception e)
                        {
                            ExceptionHandler exceptionHandler = new ExceptionHandler(TAG, e);
                        }
                    }
                }
            }
        }
Пример #2
0
        async Task VersionCheck()
        {
            await Task.Delay(TimeSpan.FromSeconds(2));

            if (!App.Configuration.IsVersionPrompt())
            {
                await _appVersionProvider.CheckAppVersionAsync(PromptUpdate);

                void PromptUpdate()
                {
                    try
                    {
                        Device.BeginInvokeOnMainThread(async() =>
                        {
                            var updateMessage = string.Format(TextResources.UpdateMessageArgs,
                                                              _appVersionProvider.AppName,
                                                              _appVersionProvider.UpdateVersion);
                            var response = await DisplayAlert(TextResources.UpdateTitle, updateMessage,
                                                              TextResources.Update,
                                                              TextResources.Later);



                            App.Configuration.VersionPrompted();
                            if (response)
                            {
                                _appVersionProvider.GotoAppleAppStoreAsync();
                            }
                        });
                    }
                    catch (Exception e)
                    {
                        new ExceptionHandler(TAG, e);
                    }
                }
            }
        }