次の方法で共有


その他の Unity API

重要

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 の 設定がサポートされています。 この機能を使用するには:

  1. App Center SDK の概要ガイドの説明に従って 、App Center SDK を構成します。
  2. 次のコードを使用して、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: コルーチン

AppCenterTasksは非同期処理での使用にも適しています。

例:

void SomeMethod()
{
    StartCoroutine(IsEnabledCoroutine());
}

IEnumerator IsEnabledCoroutine()
{
    var isEnabled = AppCenter.IsEnabledAsync();
    yield return isEnabled;

    // do something with the isEnabled
}