App Center Analytics (Apache Cordova)
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
注意
Cordova アプリのサポートは、2022 年 4 月に終了しました。 詳細については、 App Center ブログを参照してください。
App Center Analytics は、ユーザーの行動と顧客エンゲージメントを理解し、アプリを改善するのに役立ちます。 SDK では、セッション数とデバイスのプロパティ (モデル、OS バージョンなど) が自動的にキャプチャされます。独自のカスタム イベントを定義して、自分にとって重要なものを測定できます。 キャプチャされたすべての情報は、データを分析するために App Center ポータルで使用できます。
アプリケーションで SDK をまだ設定していない場合は、[ 作業の開始 ] セクションに従います。
App Center Analytics をアプリに追加し、SDK が開始されると、OS のバージョン、モデルなどのセッションとデバイスのプロパティが自動的に追跡されます。
最大 20 個のプロパティを使用して独自のカスタム イベントを追跡して、ユーザーとアプリの間の相互作用を理解できます。
SDK を開始したら、 メソッドを trackEvent
使用して、プロパティを使用してイベントを追跡します。 最大 200 個の個別のイベント名を送信できます。 また、イベント名あたり 256 文字、イベント プロパティ名とイベント プロパティ値あたり 125 文字の上限があります。
var success = function() {
console.log("Event tracked");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' }, success, error);
この関数は、空の文字列を返す成功コールバックとして 3 番目のパラメーターを使用し、エラーを返すエラー コールバックとして 4 番目のパラメーターを使用します。
イベントのプロパティは完全に省略可能です。 イベントを追跡するだけの場合は、代わりに次のサンプルを使用します。
var success = function() {
console.log("Event tracked");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', success, error);
実行時に App Center Analytics を有効または無効にすることができます。 無効にした場合、SDK はアプリの分析情報を収集しなくなります。
var success = function() {
console.log("Analytics disabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.setEnabled(false, success, error);
この関数では、空の文字列を返す成功コールバックとして 2 番目のパラメーターを使用し、エラーを返すエラー コールバックとして 3 番目のパラメーターを使用します。
App Center Analytics を再度有効にするには、同じ API を使用しますが、パラメーターとして を渡します true
。
var success = function() {
console.log("Analytics enabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.setEnabled(true, success, error);
状態は、アプリケーションの起動間でデバイスのストレージに保持されます。
App Center Analytics が有効になっているかどうかをチェックすることもできます。
var success = function(result) {
console.log("analytics " + (result) ? "enabled" : "disabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.isEnabled(success, error);
この関数では、最初のパラメーターを成功コールバックとして使用し、2 番目のパラメーターを boolean
エラーコールバックとして返し、エラーを返します。
場合によっては、アプリケーションで分析情報を共有するかどうかをユーザーに確認する必要がある場合があります。 その場合は、config.xml の 設定APPCENTER_ANALYTICS_ENABLE_IN_JS
を にtrue
変更する必要があります。
<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />
つまり、情報を App Center に送信するには (基本的なセッション情報であっても)、開発者はまず、次の行をコードに追加して、アプリ内で App Center Analytics を有効にする必要があります。
var success = function() {
console.log("analytics disabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.setEnabled(true, success, error);
既定では、SDK は最大 10 MB のログをストレージに格納します。
ネットワーク接続がない場合、SDK はローカル ストレージに最大 10 MB のログを保存します。 ストレージがいっぱいになると、SDK は古いログの破棄を開始して、新しいログのスペースを作ります。 デバイスがインターネット にアクセスすると、SDK は 50 のバッチで、または 3 秒ごとにログを送信します。
App Center SDK は 50 のバッチでログをアップロードします。SDK に送信するログが 50 個ない場合でも、3 秒後もログが送信されます。 並列で送信されるバッチは最大 3 つまでです。
App Center SDK では、回復可能なネットワーク エラーに対するバックオフ再試行がサポートされています。 再試行ロジックを次に示します。
- 要求ごとに最大 3 回試行します。
- 各要求には、独自の再試行状態マシンがあります。
- 1 つの要求ですべての再試行が終了すると、すべての送信チャネルが無効になります (次のアプリ プロセスまで)。
バックオフ ロジック
- 50% ランダム化、最初の再試行は 5 から 10 秒、2 回目は 2.5 ~ 5 分、最後の試行は 10 分から 20 分です。
- ネットワークがオフからオン (または Wi-Fi からモバイル) に切り替わる場合、再試行状態はリセットされ、要求はすぐに再試行されます。