その他の Unity API

重要

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

詳細については、サポートタイムラインと代替手段に関するページを参照してください。

ログ レベルを調整する

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

可能な限り多くのログ メッセージを表示するには、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. 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(true);

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

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

AppCenter.IsNetworkRequestsAllowed = false;

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

AppCenter.IsNetworkRequestsAllowed = true;

注意

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

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

AppCenter.IsNetworkRequestsAllowed;

注意

以前に に保存された値は、Android プラットフォームで SharedPreferences が開始されるまで AppCenter 無視されます。 を使用して AppCenter.IsNetworkRequestsAllowed = allowed 、または true AppCenter の開始前に値が変更されなかった場合に、最後に設定された値が返されます。

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 を開始する] チェックボックスをチェックします。 これにより、AppCenterBehavior の メソッドで 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
}