その他の WPF API と WinForms API

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

サポートタイムラインと代替手段の詳細については、こちらを参照してください。

ログ レベルを調整する

コンソールで App Center から表示されるログ メッセージの量を制御できます。 デバッグ中に追加の LogLevel ログ記録を有効にするには、API を使用します。 既定では、App Store環境では に設定され、WARNそれ以外の場合は にASSERT設定されます。

ログ メッセージをできるだけ多く表示するには、 を使用します LogLevel.Verbose

AppCenter.LogLevel = LogLevel.Verbose;

インストールを特定する

アプリがインストールされると、App Center SDK によって各デバイスの UUID が作成されます。 アプリが更新され、アプリが再インストールされたときにのみ新しい識別子が生成される場合、この識別子はデバイスに対して同じままです。 次の API は、デバッグの目的で役立ちます。

System.Guid? installId = await AppCenter.GetInstallIdAsync();

ユーザーを特定する

App Center SDK では、クラッシュ レポートの拡張に使用される ユーザー ID の 設定がサポートされています。 この機能を使用するには:

  1. App Center SDK の概要ガイドの説明に従って、 を呼び出 AppCenter.Start(...) して App Center SDK を構成します。
  2. 次の userID コードを使用して、SDK で を設定します。
AppCenter.SetUserId("your-user-id");

ユーザー ID を設定した後、App Center の検索機能を使用して、ID の特定のクラッシュ レポートを検索できます。 詳細については、App Center の 検索ドキュメントを参照してください

注意

ユーザー ID の値は 256 文字に制限されています。 クラッシュ レポートと共に表示されますが、影響を受けるユーザーの集計や数には使用されません。 ユーザー ID を複数回設定した場合は、最後のユーザー ID のみが使用されます。 この値は起動の間に SDK によって格納されないため、各アプリケーションの起動前にユーザー ID を自分で設定する必要があります。

実行時にすべてのサービスを無効にする

すべての App Center サービスを一度に無効にする場合は、 プロパティを使用します Enabled 。 無効にすると、SDK は App Center に情報を転送しません。

AppCenter.SetEnabledAsync(false);

すべてのサービスを再度有効にするには、同じ API を使用しますが、 パラメーターとして を渡します true

AppCenter.SetEnabledAsync(true);

他の API 呼び出し (など IsEnabledAsync) の整合性を保つには、この呼び出しを待機する必要はありません。

状態は、アプリケーションの起動間でデバイスのストレージに保持されます。

実行時のサービスの状態を変更する

次のコードを使用して、ランタイムでサービスを有効または無効にします。

Analytics.SetEnabledAsync(false);

ネットワーク要求を禁止する

App Center SDK では、ネットワーク要求は既定で許可されます。 ユーザーの懸念事項によって App Center SDK によって収集されたデータを送信する場合は、データの自動送信を禁止できます。

AppCenter.IsNetworkRequestsAllowed = false;

この場合、App Center SDK は引き続きデータを収集しますが、ネットワーク要求が許可される場合にのみ送信されます。

AppCenter.IsNetworkRequestsAllowed = true;

注意

この値は、開始の間に保持されます。

App Center SDK でのデータの送信が許可されているかどうかをいつでもチェックできます。

AppCenter.IsNetworkRequestsAllowed;

App Center が有効になっているかどうかを確認する

App Center が有効になっているかどうかをチェックすることもできます。

bool enabled = await AppCenter.IsEnabledAsync();

実行時に App Center SDK のバージョンを確認する

現在使用している App Center SDK のバージョンを取得できます。

AppCenter.SdkVersion;

ストレージ サイズ

App Center SDK を使用すると、ログはデバイスにローカルに格納されます。 大きなログには多くの領域が必要になるため、ローカル データベースのサイズを制限することもできます。

API を使用して、 SetMaxStorageSizeAsync ローカル DB のサイズを設定できます。 API は非同期であり、App Center サービスを開始するとコールバックが呼び出されます。 このため、 SetMaxStorageSizeAsync を 呼び出す前に を呼び出す AppCenter.Start(...)必要があります。 API の呼び出しは 1 回のみ可能です。

// Use 20 MB for storage.
AppCenter.SetMaxStorageSizeAsync(20 * 1024 * 1024).ContinueWith((storageTask) => {
    // The storageTask.Result is false when the size cannot be honored.
});
AppCenter.Start("{Your App Secret}", typeof(Analytics));

最大ストレージ サイズを設定しない場合、SDK では既定の最大サイズ 10 MB が使用されます。 設定できる最小サイズは 20 KB です。

注意

実際の最大ストレージ サイズは、選択した値よりも大きくなる可能性があります。 SQLite は、サイズをページ サイズの次の倍数に丸めます。 App Center SDK では、4 KB のページ サイズが使用されます。

注意

25 日より前のログは破棄されます。

その他の API

.NET NuGet パッケージは Xamarin と UWP と共有され、より多くの機能があります。 このページの WPF と WinForms に関するドキュメントに記載されていない API はすべて、WPF と WinForms でを返 null すか false 、何も行いません。 その他の API は、ポータブル ライブラリで使用できるように表示されますが (UWP プロジェクトを含む Xamarin.Forms アプリケーションで SDK を使用する場合など)、これらの追加の API は WPF および WinForms には実装されません。