Обновления внутри приложения в Центре приложений не отображаются в приложении Xamarin для Android - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь настроить AppCenter.Distribute для обновлений внутри приложения в моем приложении Xamarin для Android.Вот очень простой установочный код, который у меня есть в методе OnCreate моей основной программы запуска (ПОСЛЕ вызова base.OnCreate):

AppCenter.Start (Resources.GetString (Resource.String.appcenter_app_secret), typeof (Analytics), typeof (Crashes), typeof (Distribute));

Мне удалось получить обновления в приложении, предположительно для инициализации.Когда я впервые устанавливаю и открываю приложение, в течение одной секунды отображается окно браузера с надписью «Обновления в приложении включены! Возвращаясь к приложению через 1 ...», затем перенаправляется обратно в мое приложение.К сожалению, когда я затем изменяю имя и код версии и распространяю новую сборку, в приложении не появляется диалоговое окно с предложением обновить его до новой версии.

Я даже пытался обработать Distribute.ReleaseAvailableдействие и отображение настраиваемого диалогового окна, и это действие также не вызывается:

Distribute.ReleaseAvailable = OnReleaseAvailable;// Called before AppCenter.Start

private bool OnReleaseAvailable (ReleaseDetails releaseDetails) {
            // Show custom dialog.
            Droid.ApplicationContext.Activity.CustomDialogBuilder ().Show (new NotificationArgs {
                Title = "New update available!",
                Message = "A new version of RPR Mobile, {0} ({1}) is available. Release notes: {2}"
                    .WithFormat (releaseDetails.ShortVersion, releaseDetails.Version, releaseDetails.ReleaseNotes),
                PositiveButtonText = "Update",
                PositiveAction = () => {
                    // Notify SDK that user selected to update...
                    Distribute.NotifyUpdateAction (UpdateAction.Update);
                },
                HideNegativeButton = releaseDetails.MandatoryUpdate,
                NegativeButtonText = "Postpone Update",
                NegativeAction = () => {
                    // Notify SDK that user selected to postpone (for 1 day)...
                    // Note that this method call is ignored by the SDK if the update is mandatory.
                    Distribute.NotifyUpdateAction (UpdateAction.Postpone);
                }
            });

            // Return true if you are using your own dialog, false otherwise.
            return true;
        }

Мне интересно, что мне не хватает.Некоторые вопросы, которые могут быть или не иметь отношения ...

  1. Имеет ли значение, выполняется ли код AppCenter.Start до или после вызова base.OnCreate?
  2. Имеет ли значение, является лидействие, из которого вызывается AppCenter.Start, запущено или завершено?Потому что в нашем случае основной модуль запуска - это просто заставка, которая закрывается через пару секунд.
  3. Должен ли SDK App Center запрашивать обновление каждые несколько секунд?Или он проверяет только при открытии и закрытии деятельности?

1 Ответ

0 голосов
/ 29 января 2019

Оказывается, вам нужно закрыть и перезапустить приложение, чтобы оно проверяло наличие новых обновлений.Документация может быть более ясной по этому вопросу ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...