その他の 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 の 設定がサポートされています。 この機能を使用するには:
- App Center SDK の概要ガイドの説明に従って 、App Center SDK を構成します。
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: コルーチン
AppCenterTask
s はコルーチンでの使用にも適しています。
例:
void SomeMethod()
{
StartCoroutine(IsEnabledCoroutine());
}
IEnumerator IsEnabledCoroutine()
{
var isEnabled = AppCenter.IsEnabledAsync();
yield return isEnabled;
// do something with the isEnabled
}