Поделиться через


Отслеживание версий

Browse sample. Обзор примера

В этой статье описывается, как использовать интерфейс многоплатформенного приложения .NET (.NET MAUI). IVersionTracking Этот интерфейс позволяет проверка версии приложений и номера сборки вместе с дополнительными сведениями, например при первом запуске приложения.

Реализация интерфейса по умолчанию IVersionTracking доступна через VersionTracking.Default свойство. Интерфейс IVersionTracking и VersionTracking класс содержатся в Microsoft.Maui.ApplicationModel пространстве имен.

Начать

Чтобы включить отслеживание версий в приложении, вызовите ConfigureEssentials метод MauiAppBuilder объекта в файле MauiProgram.cs . Затем вызовите IEssentialsBuilder метод в объекте UseVersionTracking() :

public static MauiApp CreateMauiApp()
{
    var builder = MauiApp.CreateBuilder();

    builder
        .UseMauiApp<App>()
        .ConfigureFonts(fonts =>
        {
            fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
            fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
        })
        .ConfigureEssentials(essentials =>
        {
            essentials.UseVersionTracking();
        });

    return builder.Build();
}

Проверка версии

Интерфейс IVersionTracking предоставляет множество свойств, описывающих текущую версию приложения и ее связь с предыдущей версией. В следующем примере данные отслеживания записываются на метки на странице:

private void ReadVersion_Clicked(object sender, EventArgs e)
{
    labelIsFirst.Text = VersionTracking.Default.IsFirstLaunchEver.ToString();
    labelCurrentVersionIsFirst.Text = VersionTracking.Default.IsFirstLaunchForCurrentVersion.ToString();
    labelCurrentBuildIsFirst.Text = VersionTracking.Default.IsFirstLaunchForCurrentBuild.ToString();
    labelCurrentVersion.Text = VersionTracking.Default.CurrentVersion.ToString();
    labelCurrentBuild.Text = VersionTracking.Default.CurrentBuild.ToString();
    labelFirstInstalledVer.Text = VersionTracking.Default.FirstInstalledVersion.ToString();
    labelFirstInstalledBuild.Text = VersionTracking.Default.FirstInstalledBuild.ToString();
    labelVersionHistory.Text = String.Join(',', VersionTracking.Default.VersionHistory);
    labelBuildHistory.Text = String.Join(',', VersionTracking.Default.BuildHistory);

    // These two properties may be null if this is the first version
    labelPreviousVersion.Text = VersionTracking.Default.PreviousVersion?.ToString() ?? "none";
    labelPreviousBuild.Text = VersionTracking.Default.PreviousBuild?.ToString() ?? "none";
}

При первом запуске приложения после включения отслеживания IsFirstLaunchEver версий свойство возвращается true. Если вы добавляете отслеживание версий в более новую версию уже выпущенного приложения, IsFirstLaunchEver может неправильно сообщить true. Это свойство всегда возвращает true первое время отслеживания версий, и пользователь запускает приложение. Вы не можете полностью полагаться на это свойство, если пользователи обновились с более старых версий, которые не отслеживали версию.

Различия между платформами

Все сведения о версии хранятся с помощью API параметров и хранятся с именем файла [YOUR-APP-PACKAGE-ID].microsoft.maui.essentials.versiontracking и следует тем же сохраняемости данных, описанных в документации по параметрам .