トレーニング
ラーニング パス
FastTrack サービス、データ管理などを使用して、財務と運用アプリの実装を成功させるためのプロジェクト方法論を計画および設計します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
App Center Analytics は、アプリを改善するためのユーザーの行動と顧客エンゲージメントを理解するのに役立ちます。 SDK では、セッション数とデバイス プロパティ (モデル、OS バージョンなど) が自動的にキャプチャされます。自分にとって重要なものを測定するために、独自のカスタム イベントを定義できます。 キャプチャされたすべての情報は、データを分析するために App Center ポータルで使用できます。
アプリケーションで SDK をまだ設定していない場合は、WPF/WinForms はじめにまたは UWP/WinUI はじめに セクション (プラットフォームに基づく) に従います。
このページの手順は、UWP (Xamarin.Forms と WinUI を含む)、WPF、WinForms で機能します。
App Center Analytics をアプリに追加して SDK を起動すると、OS のバージョン、モデルなどのセッションとデバイスのプロパティが自動的に追跡されます。
注意
WinUI アプリでは、そのライフサイクルの詳細により、セッションの量が UWP アプリよりも低くなる可能性があります。
国コードは SDK によって自動的に報告されません。 手動で報告する場合は、以下のプラットフォームの手順に従うことができます。
AppCenter.Start(... typeof(Analytics) ...);
前に、任意の場所で次のコードを使用します。
として BingMapsToken
、手順 2 で取得したキーを使用します。private static async Task SetCountryCode()
{
// The following country code is used only as a fallback for the main implementation.
// This fallback country code doesn't reflect the physical device location, but rather the
// country that corresponds to the culture it uses.
var countryCode = new GeographicRegion().CodeTwoLetter;
var accessStatus = await Geolocator.RequestAccessAsync();
switch (accessStatus)
{
case GeolocationAccessStatus.Allowed:
var geoLocator = new Geolocator
{
DesiredAccuracyInMeters = 100
};
var position = await geoLocator.GetGeopositionAsync();
var myLocation = new BasicGeoposition
{
Longitude = position.Coordinate.Point.Position.Longitude,
Latitude = position.Coordinate.Point.Position.Latitude
};
var pointToReverseGeocode = new Geopoint(myLocation);
MapService.ServiceToken = Constants.BingMapsAuthKey;
var result = await MapLocationFinder.FindLocationsAtAsync(pointToReverseGeocode);
if (result.Status != MapLocationFinderStatus.Success || result.Locations == null || result.Locations.Count == 0)
{
break;
}
// The returned country code is in 3-letter format (ISO 3166-1 alpha-3).
// Below we convert it to ISO 3166-1 alpha-2 (two letter).
var country = result.Locations[0].Address.CountryCode;
countryCode = new GeographicRegion(country).CodeTwoLetter;
break;
case GeolocationAccessStatus.Denied:
AppCenterLog.Info(LogTag, "Geolocation access denied. To set country code in App Center, enable location service in Windows 10.");
break;
case GeolocationAccessStatus.Unspecified:
break;
}
AppCenter.SetCountryCode(countryCode);
}
注意
Analytics セッションに国コードを表示するには、 AppCenter.SetCountryCode
を呼び出す前に を呼び出 AppCenter.Start
す必要があります。
WPF/WinForms プラットフォームには Geolocation API がないため、システムの国コードを使用できます。
using System.Globalization;
private static void SetCountryCode()
{
// This fallback country code doesn't reflect the physical device location, but rather the
// country that corresponds to the culture it uses.
var countryCode = RegionInfo.CurrentRegion.TwoLetterISORegionName;
AppCenter.SetCountryCode(countryCode);
}
注意
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 を有効または無効にすることができます。 無効にした場合、SDK はアプリの分析情報をこれ以上収集しません。
Analytics.SetEnabledAsync(false);
App Center Analytics を再度有効にするには、同じ API を使用しますが、パラメーターとして を渡します true
。
Analytics.SetEnabledAsync(true);
他の API 呼び出し (など IsEnabledAsync
) を一貫性のあるものにするために、この呼び出しを待機する必要はありません。
状態は、アプリケーションの起動間でデバイスのストレージに保持されます。
App Center Analytics が有効かどうかをチェックすることもできます。
bool isEnabled = await Analytics.IsEnabledAsync();
既定では、セッション ID はアプリケーションのライフサイクルによって異なります。 新しいセッションの開始を手動で制御する場合は、次の手順に従います。
注意
Analytics.StartSession() API の各呼び出しで新しいセッションが生成されることに注意してください。 手動セッション トラッカー モードでは、この API が呼び出されない場合、すべての送信ログに null セッション値が設定されます。
注意
新しいアプリケーションの起動後にセッション ID が再生成されることに注意してください。
Analytics.EnableManualSessionTracker();
StartSession
API を AppCenter.Start
使用できます。Analytics.StartSession();
既定では、SDK は最大 10 MB まですべてのイベント ログを格納します。 開発者は API を使用してストレージ サイズを増やすことができます。SDK は 、ストレージ がいっぱいになるまでログを格納し続けます。
ネットワーク接続がない場合、SDK はローカル ストレージに最大 10 MB のログを保存します。 ストレージがいっぱいになると、SDK は古いログの破棄を開始して、新しいログを格納します。 デバイスがインターネットに戻ると、SDK は 50 秒のバッチで、または 6 秒ごとにログを送信します。
App Center SDK は 50 のバッチでログをアップロードします。SDK に送信するログが 50 個ない場合でも、6 秒後もログが送信されます。 並列で送信されるバッチは最大 3 つまでです。
App Center SDK では、回復可能なネットワーク エラーに対するバックオフ再試行がサポートされています。 再試行ロジックを次に示します。
バックオフ ロジック
トレーニング
ラーニング パス
FastTrack サービス、データ管理などを使用して、財務と運用アプリの実装を成功させるためのプロジェクト方法論を計画および設計します。