バージョンの追跡
この記事では、.NET マルチプラットフォーム アプリ UI (.NET MAUI) IVersionTracking インターフェイスを使用する方法について説明します。 このインターフェイスを使用すると、アプリケーションのバージョンとビルド番号をチェックし、アプリケーションを初めて起動した場合などの追加情報を表示できます。
IVersionTracking
インターフェイスの既定の実装は、VersionTracking.Default プロパティを通じて利用できます。 IVersionTracking
インターフェイスと VersionTracking
クラスは、どちらも Microsoft.Maui.ApplicationModel
名前空間に含まれています。
作業の開始
アプリでバージョン追跡を有効にするには、MauiProgram.cs ファイルの MauiAppBuilder オブジェクトで ConfigureEssentials メソッドを呼び出します。 次に、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 を使用して保存され、[ご利用のアプリのパッケージ ID].microsoft.maui.essentials.versiontracking というファイル名で保存されます。この情報は、設定のドキュメントで説明されているのと同じデータの永続性に従います。
.NET MAUI