バージョン追跡

サンプルを参照します。 サンプルを参照する

この記事では、.NET マルチプラットフォーム アプリ UI (.NET MAUI) IVersionTracking インターフェイスを使用する方法について説明します。 このインターフェイスを使用すると、アプリケーションのバージョンとビルド番号を確認し、アプリケーションを初めて起動した場合などの追加情報を表示できます。

IVersionTracking インターフェイスの既定の実装は、VersionTracking.Default プロパティを通じて使用できます。 IVersionTracking インターフェイスと VersionTracking クラスはどちらも Microsoft.Maui.ApplicationModel 名前空間に含まれています。

概要

アプリでバージョン追跡を有効にするには、MauiProgram.cs ファイル内のConfigureEssentials オブジェクトに対してMauiAppBuilder メソッドを呼び出します。 次に、 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を返します。 既にリリースされているアプリの新しいバージョンでバージョン追跡を追加すると、IsFirstLaunchEvertrueが正しく報告されない可能性があります。 このプロパティは、ユーザーがアプリを初めて実行し、バージョン追跡が有効になるときに初回のtrueを常に返します。 ユーザーがバージョンを追跡していない古いバージョンからアップグレードした場合、このプロパティに完全に依存することはできません。

プラットフォームの違い

すべてのバージョン情報は Preferences API を使用して保存され、[ YOUR-APP-PACKAGE-ID].microsoft.maui.essentials.versiontracking の ファイル名と共に格納され、 Preferences ドキュメントに記載されているのと同じデータ永続化に従います。