次の方法で共有


App Center Analytics (MAUI と Xamarin)

重要

Visual Studio App Center は、2026 年 6 月 30 日まで引き続きサポートされる分析機能と診断機能を除き、2025 年 3 月 31 日に廃止されました。 詳細を参照してください。

App Center Analytics は、ユーザーの行動と顧客エンゲージメントを理解してアプリを改善するのに役立ちます。 SDK では、セッション数とデバイスのプロパティ (モデル、OS バージョンなど) が自動的にキャプチャされます。独自のカスタム イベントを定義して、自分にとって重要なものを測定できます。 キャプチャされたすべての情報は、データを分析するために App Center ポータルで使用できます。

アプリケーションで SDK をまだ設定していない場合は、「 はじめ に」セクションに従います。

セッションとデバイスの情報

App Center Analytics をアプリに追加して SDK を起動すると、追加のコードを記述することなく、OS バージョン、モデルなどのセッションとデバイス プロパティが自動的に追跡されます。

国番号

デバイスにモバイル データ モデムと SIM カードがインストールされている場合、SDK はユーザーの国コードを自動的に報告します。 WiFi 専用デバイスでは、既定では国番号は報告されません。 これらのユーザーの国コードを設定するには、ユーザーの場所を自分で取得し、SDK で SetCountryCode: メソッドを使用する必要があります。

AppCenter.SetCountryCode("en");

Analytics セッションに国コードを表示するには、AppCenter.SetCountryCodeを呼び出す前にAppCenter.Startを呼び出す必要があります。

カスタム イベント

最大 20 個のプロパティを持つ独自のカスタム イベントを追跡して、ユーザーとアプリの間の相互作用を把握できます。

SDK を開始したら、 TrackEvent() メソッドを使用して、プロパティを使用してイベントを追跡します。 最大 200 個の個別のイベント名を送信できます。 また、イベント名あたり 256 文字、イベント プロパティ名とイベント プロパティ値ごとに 125 文字の上限があります。

Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi"}
});

イベントのプロパティは完全に省略可能です。イベントを追跡するだけの場合は、代わりに次のサンプルを使用します。

Analytics.TrackEvent("Video clicked");

実行時に App Center Analytics を有効または無効にする

実行時に App Center Analytics を有効または無効にすることができます。 無効にした場合、SDK はアプリの分析情報をこれ以上収集しません。

Analytics.SetEnabledAsync(false);

App Center Analytics を再度有効にするには、同じ API を使用しますが、パラメーターとして true を渡します。

Analytics.SetEnabledAsync(true);

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

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

このメソッドは、 Analytics が開始された後にのみ使用する必要があります。

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

App Center Analytics が有効になっているかどうかを確認することもできます。

bool isEnabled = await Analytics.IsEnabledAsync();

このメソッドは、 Analytics が開始された後にのみ使用する必要があり、常に開始前に false 返されます。

セッションの開始を管理する

既定では、セッション ID はアプリケーションのライフサイクルによって異なります。 新しいセッションの開始を手動で制御する場合は、次の手順に従います。

Analytics.StartSession() API を呼び出すたびに新しいセッションが生成されることに注意してください。 手動セッション トラッカー モードでは、この API が呼び出されない場合、すべての送信ログに null セッション値が設定されます。

新しいアプリケーションの起動後にセッション ID が再生成されることに注意してください。

  • SDK を開始する前に、次のメソッドを呼び出します。
Analytics.EnableManualSessionTracker();
  • その後、StartSessionの後に AppCenter.Start API を使用できます。
Analytics.StartSession();

ローカル ストレージ サイズ

既定では、SDK は最大 10 MB のログをストレージに格納します。

インターネットにアクセスできない

ネットワーク接続がない場合、SDK はローカル ストレージに最大 10 MB のログを保存します。 ストレージがいっぱいになると、SDK は古いログの破棄を開始して、新しいログを格納できます。 デバイスがインターネット にアクセスすると、SDK は 50 秒のバッチで、または 6 秒ごとにログを送信します。

イベント ログのバッチ処理

App Center SDK は 50 のバッチでログをアップロードします。SDK に送信するログが 50 個ない場合でも、6 秒後にログが送信されます。 最大 3 つのバッチを並列で送信できます。

再試行とバックオフのロジック

App Center SDK では、回復可能なネットワーク エラーに対するバックオフ再試行がサポートされています。 再試行ロジックを次に示します。

  • 要求ごとに最大 3 回試行します。
  • 各要求ごとに再試行状態マシンがあります。
  • 1 回の要求ですべての再試行が終了すると、すべての送信チャネルが無効になります (次のアプリ プロセスまで)。

バックオフ ロジック

  • ランダム化% 50 回、最初に 5 秒から 10 秒の間で再試行し、2 回目は 2.5 ~ 5 分、最後に 10 ~ 20 分の間で再試行します。
  • ネットワークがオフからオン (または wi-fi からモバイル) に切り替わると、再試行状態がリセットされ、要求が直ちに再試行されます。