分享方式:


版本追蹤

Browse sample. 流覽範例

本文說明如何使用 .NET 多平臺應用程式 UI (.NET MAUI) IVersionTracking 介面。 此介面可讓您檢查應用程式版本和組建編號,以及查看其他資訊,例如,它是否是第一次啟動應用程式。

介面的預設實作 IVersionTracking 可透過 VersionTracking.Default 屬性取得。 IVersionTracking介面和 VersionTracking 類別都包含在 命名空間中 Microsoft.Maui.ApplicationModel

開始使用

若要在應用程式中啟用版本追蹤,請在 MauiProgram.cs 檔案中的 物件上 MauiAppBuilderConfigureEssentials 用 方法。 然後,在 物件上 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 的檔案名 儲存,並遵循喜好設定 檔中概述 的相同資料持續性。