Lifecycle Trackingモジュール
アプリのライフサイクルトラッキングイベントを提供します。
インストール
Lifecycle TrackingモジュールをMavenによって、または手動でインストールします。
Maven
Lifecycle TrackingモジュールをMavenによってインストールするには:
- プロジェクトの最上位の
build.gradle
ファイルに、次のMavenレポジトリを追加します。
// Top-level build file where you add configuration options common to all sub-projects/modules.
allprojects {
repositories {
mavenCentral()
// Tealium Maven repo directive
maven {
url "https://maven.tealiumiq.com/android/releases/"
}
}
}
- プロジェクトモジュールの
build.gradle
ファイルに、以下のようにMavenの依存関係を追加します。
dependencies {
// only add if not already present
implementation 'com.tealium:library:5.8.0'
// add lifecycle to list of dependencies
implementation 'com.tealium:lifecycle:1.1.4'
}
手動
Lifecycle Trackingモジュールを手動でインストールするには、以下の手順に従います。
-
Tealium Lifecycle Trackingモジュールをダウンロードします。
-
ファイル
tealium.lifecycle-1.1.4.aar
をプロジェクトの<PROJECT_ROOT>/<MODULE>/libs
ディレクトリにコピーします。 -
Tealiumライブラリの依存関係をプロジェクトモジュールの
build.gradle
ファイルに追加します。
dependencies {
implementation(name:'tealium.lifecycle-1.1.4', ext:'aar')
}
自動トラッキングされるイベント
このモジュールは、lifecycle_type
変数によって構成される以下のライフサイクルイベントをトラッキングします。
Lifecycle Event | 説明 |
---|---|
launch |
最初のonActivityResumed で生成されて発生します。onActivityResumed の前にonActivityPaused が呼び出されると(Activity ライフサイクルの途中でライブラリが初期化された場合)モジュール作成の時間が、launch イベントの生成に使用されます。 |
sleep |
onActivityPaused が呼び出され、onActivityResumed が呼び出されなかった5秒後に生成されます。これは新しいビューが表示されなかったために、アプリケーションがバックグラウンドで動作していることを示します。 |
wake |
最後のonActivityPaused から5秒以上経過した場合に、onActivityResumed の最中に生成されます。これはビューが変更されたからではなく、アプリケーションがフォアグラウンドで動作しているためにonActivityResumed が呼び出されたことを示します。 |
Tealiumのライフサイクルトラッキングでは、もっぱら使用状況をアクティビティのライフサイクルに関連付けます。
このライブラリはApplication.ActivityLifecycleCallbacks APIを利用し、onActivityResumedおよびonActivityPausedで条件を評価します。
以下のコードを使用して有効化されます。
Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
boolean isAutoTracking = true;
// Additional instance for Lifecycle Tracking
LifeCycle.setupInstance("INSTANCE_NAME", config, isAutoTracking);
// Standard Tealium instance
Tealium.createInstance("INSTANCE_NAME", config);
手動でトラッキングされるイベント
特定のライフサイクルパラダイムおよび通常とは異なるライフサイクルトラッキングに使用できます。ほとんどの実装には、この方法は推奨しません。手動のライフサイクルトラッキングを許可するには、ライフサイクル初期化コードを更新し、isAutoTracking
をfalse
に構成します。
launch
イベントを手動でトラッキングするには、trackLaunchEvent()
メソッドを呼び出します。
LifeCycle lifeCycle = LifeCycle.getInstance(TEALIUM_INSTANCE_ID);
if(lifeCycle != null) {
// OPTIONAL
Map<String, String> data = new HashMap<>();
data.put("boot_time", "5ms");
lifeCycle.trackLaunchEvent(data);
}
sleep
イベントを手動でトラッキングするには、trackSleepEvent()
メソッドを呼び出します。
LifeCycle lifeCycle = LifeCycle.getInstance(TEALIUM_INSTANCE_ID);
if(lifeCycle != null) {
// OPTIONAL
Map<String, String> data = new HashMap<>();
data.put("foreground_time", "4000ms");
lifeCycle.trackSleepEvent(data);
}
wake
イベントを手動でトラッキングするには、trackWakeEvent()
メソッドを呼び出します。
LifeCycle lifeCycle = LifeCycle.getInstance(TEALIUM_INSTANCE_ID);
if(lifeCycle != null) {
// OPTIONAL
Map<String, String> data = new HashMap<>();
data.put("background_time", "600000ms");
lifeCycle.trackWakeEvent(data);
}
Tealiumおよび付随するLifeCycle Multitonは、Tealium iQの公開構成からリモートで終了できます。インスタンスでメソッドを呼び出す場合は、Nullチェックを実行してください。
クラッシュ検知
wake
イベントに続いてlaunch
イベントが発生する場合、またはその逆の場合も、アプリケーションが正常にsleep
しなかったためクラッシュが発生したことを示します。Tealiumライブラリのシャットダウンにより上記のような連続イベントが発生した場合は、クラッシュイベントとは見なされません。
クラッシュイベントが検知されると、launch
またはwake
イベントデータにlifecycle_diddetectcrash
変数が追加されます。
{
"lifecycle_type" : "launch",
"lifecycle_diddetectcrash" : "true",
//...
}
データレイヤー
Lifecycle Trackingモジュールにより、リストに記載されたライフサイクルイベントのタイプ(launch
、wake
、sleep
)に合わせて、以下の変数が追加されます。
変数 | 型 | 説明 | 例 | イベント |
---|---|---|---|---|
lifecycle_ dayofweek_local |
Number |
コールが行われた現地曜日(例:1 =日曜日、2 =月曜日など) | 2 |
all |
lifecycle_ dayssincelaunch |
Number |
整数の増分で最初の起動から経過した日数 | 23 |
all |
lifecycle_ dayssinceupdate |
Number |
整数の増分でアプリのバージョンアップデートが最後に検出されてから経過した日数 | 46 |
all |
lifecycle_ dayssincelastwake |
Number |
整数の増分で最後にスリープ解除が検出されてから経過した日数 | 1 |
all |
lifecycle_ diddetectcrash |
Boolean |
先行するスリープイベントがないためクラッシュが推測される(起動イベントがスリープ解除イベントに続いた場合にのみ存在) | [true , false ] |
launch |
lifecycle_ firstlaunchdate |
String |
起動/スリープ解除が最初に検出されたときのGMTタイムスタンプ(ISO8601形式、協定世界時) | "2013-07-11T17:55:04Z" |
all |
lifecycle_ firstlaunchdate_ MMDDYYYY |
String |
MM/DD/YYYY形式のGMTタイムスタンプ | "01/17/2012" |
all |
lifecycle_ hourofday_local |
String |
コールが行われた現地時間(24時間表記) | "12" |
all |
lifecycle_ isfirstlaunch |
Boolean |
最初の起動コールの場合にのみ存在 | [true , false ] |
launch |
lifecycle_ isfirstlaunchupdate |
Boolean |
アップデート検出後の最初の起動コールの場合にのみ存在 | [true , false ] |
launch |
lifecycle_ isfirstwakemonth |
Boolean |
月の最初の起動/スリープ解除コールの場合にのみ存在 | [true , false ] |
launch、wake |
lifecycle_ isfirstwaketoday |
Boolean |
1日の最初の起動/スリープ解除コールの場合にのみ存在 | [true , false ] |
launch、wake |
lifecycle_ launchcount |
Number |
現バージョンのアプリの起動の総回数(最後のアップデート以降) | 3 |
all |
lifecycle_ secondsawake |
Number |
アプリが最後のスリープ解除/起動から稼働状態にあった期間の総秒数(lifecycle_type:sleep またはlifecycle_type:terminate 呼び出しによってのみ送信される) |
30 |
all |
lifecycle_ priorsecondsawake |
Number |
アプリが最後の起動から稼働状態にあった期間の総秒数(これまでのすべてのスリープ解除を総計し、lifecycle_type:launch 呼び出しによってのみ送信される) |
126 |
all |
lifecycle_ sleepcount |
Number |
アプリがスリープ状態になった総回数(アップデートされた場合にリセット) | 5 |
all |
lifecycle_ totalcrashcount |
Number |
インストール後のクラッシュの総回数(アプリが削除された場合のみリセット) | 21 |
all |
lifecycle_ totallaunchcount |
Number |
インストール後の起動の総回数(アプリが削除された場合のみリセット) | 3 |
all |
lifecycle_ totalsecondsawake |
Number |
アプリがインストール後に稼働/アクティブ状態にあった期間の総秒数(アプリが削除された場合のみリセット) | 36 |
all |
lifecycle_ totalsleepcount |
Number |
アプリがインストール後にバックグラウンドに移行した総回数(アプリが削除された場合のみリセット) | 400 |
all |
lifecycle_ totalwakecount |
Number |
インストール後の起動とスリープ解除両方の総回数(アプリが削除された場合のみリセット) | 563 |
all |
lifecycle_type |
String |
ライフサイクルコールの種類 | ["initial" , "launch" , "wake" , "sleep" , "terminate" ] |
all |
lifecycle_ updatelaunchdate |
String |
バージョンアップデート検出後、最初のスリープ解除/起動のGMTタイムスタンプ | "2014-09-08T18:10:01Z" |
all |
lifecycle_ wakecount |
Number |
現バージョンのアプリの起動とスリープ解除両方の総数(アップデートされた場合にリセット) | 29 |
all |
APIリファレンス
Lifecycle Trackingモジュールのメソッドの完全なリファレンスについては、Tealium SDK for Android APIのLifeCycle
クラスを参照してください。
最終更新日 :: 2018年November月7日