重要
Visual Studio App Center は、2026 年 6 月 30 日まで引き続きサポートされる分析機能と診断機能を除き、2025 年 3 月 31 日に廃止されました。 詳細を参照してください。
ログ レベルを調整する
コンソールで App Center から表示されるログ メッセージの数を制御できます。 デバッグ中に追加のログ記録を有効にするには、 LogLevel
API を使用します。 既定では、App Store 環境の ASSERT
に設定され、それ以外の場合は WARN
されます。
ログ メッセージをできるだけ多く表示するには、App Center の設定またはコード内で LogLevel.Verbose
を有効にします。
AppCenter.LogLevel = LogLevel.Verbose;
インストールを識別する
アプリがインストールされると、App Center SDK によってデバイスごとに UUID が作成されます。 この識別子は、アプリの更新時にデバイスに対して同じままです。 新しい識別子は、アプリが再インストールされたときにのみ生成されます。 次の API は、デバッグの目的で役立ちます。
System.Guid? installId = await AppCenter.GetInstallIdAsync();
ユーザーの識別
App Center SDK では、クラッシュ レポートの拡張に使用される ユーザー ID の 設定がサポートされています。 この機能を使用するには:
- App Center SDK の概要ガイドの説明に従って 、App Center SDK を構成します。
- 次のコードを使用して、SDK で
userID
を設定します。
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(true);
ネットワーク要求を許可しない
App Center SDK では、ネットワーク要求は既定で許可されます。 ユーザーの懸念事項によって App Center SDK によって収集されるデータを送信する場合は、データの自動送信を禁止できます。
AppCenter.IsNetworkRequestsAllowed = false;
この場合、App Center SDK は引き続きデータを収集しますが、ネットワーク要求が許可されるときにのみ送信されます。
AppCenter.IsNetworkRequestsAllowed = true;
注
この値は、開始の間に保持されます。
App Center SDK でのデータの送信が許可されているかどうかをいつでも確認できます。
AppCenter.IsNetworkRequestsAllowed;
注
以前に SharedPreferences
に保存された値は、Android プラットフォームで AppCenter
が開始されるまで無視されます。
AppCenter の開始前に値が変更されなかった場合は、 AppCenter.IsNetworkRequestsAllowed = allowed
または true
を使用して、最後に設定された値が返されます。
App Center が有効になっているかどうかを確認する
App Center が有効になっているかどうかを確認することもできます。
bool enabled = await AppCenter.IsEnabledAsync();
実行時に App Center SDK のバージョンを確認する
現在使用している App Center SDK のバージョンを取得できます。
AppCenter.SdkVersion;
App Center の開始を遅らせる
AppCenterBehavior の起動後まで App Center の起動を遅らせる必要がある場合があります。 たとえば、App Center サービスを開始する前にユーザーの同意を要求する場合です。
これを行うには、 AppCenterBehaviorAdvanced をゲーム オブジェクトに追加し、[ iOS/Android アプリからネイティブ SDK を開始する ] チェック ボックスをオンにします。 これにより、Start
の メソッドで SDK が開始され、カスタム ダイアログやその他のロジックを追加できます。
ヒント
ビルド時に設定を生成する場合は、[プレイヤーの設定]、[>シンボルの定義>スクリプトに移動してAPPCENTER_DONT_USE_NATIVE_STARTER
貼り付ける方法もあります。
Unity SDK の非同期 API
非同期 API は、結果を直接返すのではなく、 AppCenterTask
オブジェクトを返し、アクションが完了するのを待たずに直ちに返します。
これらのメソッドを操作するには、3 つの方法があります。
方法 1: ContinueWith を使用する方法
AppCenterTask
のアクティビティが完了した後にアクションを実行するには、ContinueWith
メソッドを使用してコールバックを追加します。
例:
AppCenter.IsEnabledAsync().ContinueWith(task =>
{
// Do something with task.Result
});
メソッドが実際の戻り値を持つ状況では、(上の例のように) AppCenterTask<{Return Type}>
を返します。 このような状況では、コールバックのタスク パラメーターには、アクセスできる Result
プロパティがあります。
方法 2: 組み込みの言語機能
.NET 4.6 以上にアクセスできるコードを記述している場合、 AppCenterTask
は非同期コンテキストで await
できます。
例:
bool isEnabled = await AppCenter.IsEnabledAsync();
方法 3: コルーチン
AppCenterTask
sは非同期処理での使用にも適しています。
例:
void SomeMethod()
{
StartCoroutine(IsEnabledCoroutine());
}
IEnumerator IsEnabledCoroutine()
{
var isEnabled = AppCenter.IsEnabledAsync();
yield return isEnabled;
// do something with the isEnabled
}