ライフサイクルモジュール
アプリのライフサイクルイベントと関連データを自動的に追跡します。
使用法
ライフサイクルモジュールは、アプリのライフサイクルイベントと関連データを自動的に追跡します。ライブラリが初めてロードされたときに起動イベントがトリガーされ、UIApplicationWillResignActive
通知でスリープイベントが、UIApplicationDidBecomeActive
でウェイクイベントがトリガーされます。
このモジュールの使用は、Adobe Analyticsを使用している場合に推奨されます。それ以外の場合でも、オプションですが、追加でキャプチャされるイベント(起動/ウェイク/スリープ)が他のベンダーの実装に役立つかもしれません。
以下のプラットフォームがサポートされています:
- iOS
- tvOS
- watchOS
- macOS
要件
UIKit
の依存関係がターゲットアプリに追加されている場合、それ以上の構成や実装は必要ありません。その他のプラットフォームビルド(watchOS、macOS)では、ライフサイクルモジュールの関数を手動でトリガーすることができます(APIリファレンスを参照)。
インストール
Swift Package Manager、CocoaPods、またはCarthageを使用してライフサイクルモジュールをインストールします。
Swift Package Manager(推奨)
バージョン1.9.0+でサポートされているSwift Package Managerは、Tealium Swiftライブラリをインストールする最も簡単で推奨される方法です:
- Xcodeプロジェクトで、File > Swift Packages > Add Package Dependencyを選択します。
- リポジトリのURLを入力します:
https://github.com/tealium/tealium-swift
- バージョンルールを構成します。通常、
"Up to next major"
が推奨されます。現在のTealium Swiftライブラリのバージョンがリストに表示されない場合は、Swiftパッケージキャッシュをリセットします。 - インストールするモジュールのリストから
Lifecycle
モジュールを選択し、Xcodeプロジェクトの各アプリターゲットに追加します。Frameworks > Libraries & Embedded Contentの下にあります。
iOS用のSwift Package Managerのインストールについて詳しくはこちらをご覧ください。
CocoaPods
CocoaPodsでライフサイクルモジュールをインストールするには、以下のpodをPodfileに追加します:
pod 'tealium-swift/Lifecycle'
iOS用のCocoaPodsのインストールについて詳しくはこちらをご覧ください。
Carthage
Carthageでライフサイクルモジュールをインストールするには、以下の手順を実行します:
-
Xcodeでアプリターゲットの一般構成ページに移動します。
-
以下のフレームワークをEmbedded Binariesセクションに追加します:
TealiumLifecycle.framework
-
ライフサイクルライブラリをインポートするには、プロジェクトに以下のインポート文を追加します:
import TealiumLifecycle
iOS用のCarthageのインストールについて詳しくはこちらをご覧ください。
構成
ライフサイクルモジュールをインスタンス化するには、SDKを初期化する際にTealiumConfig
オブジェクトで指定する必要があります:
import TealiumCore
import TealiumInAppPurchase
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
datasource: "DATASOURCE")
config.collectors = [Collectors.Lifecycle]
tealium = Tealium(config: config) { _ in }
Collectorsのドキュメンテーションを確認し、必要なコレクターを正しく指定する方法を理解してください。
データレイヤー
モジュールが有効な間、以下の変数が各トラッキング呼び出しで送信されます:
変数名 | 型 | 説明 | 例 |
---|---|---|---|
lifecycle_diddetect_crash |
Boolean |
この起動/ウェイクイベント中にクラッシュが検出されたかどうか。真の場合のみ記入されます。 | ["true" , "false" ] |
lifecycle_dayofweek_local |
Number |
呼び出しが行われたローカルの曜日、例えば1=日曜日、2=月曜日。 | 13 |
lifecycle_dayssincelaunch |
Number |
初回起動からの日数(整数)。 | 23 |
lifecycle_dayssinceupdate |
Number |
最後に検出されたアプリバージョンの更新からの日数(整数)。 | 46 |
lifecycle_dayssincelastwake |
Number |
最後に検出されたウェイクからの日数(整数)。 | 1 |
lifecycle_firstlaunchdate |
String |
最初に検出された起動/ウェイクのGMTタイムスタンプ(ISO8601形式のズールータイム)。 | "2013-07-11T17:55:04Z" |
lifecycle_firstlaunchdate_MMDDYYYY |
String |
GMTタイムスタンプをMM/DD/YYYY形式でフォーマットしたもの。 | "01/18/2012" |
lifecycle_hourofday_local |
String |
呼び出しが行われたローカルの時間(24時間形式)。 | ["true" , "false" ] |
lifecycle_isfirstlaunch |
String |
呼び出しが最初の起動/ウェイク呼び出しである場合のみ存在します。 | ["true" , "false" ] |
lifecycle_isfirstlaunchupdate |
Boolean |
呼び出しが検出された更新後の最初の起動/ウェイクである場合のみ存在します。 | ["true" , "false" ] |
lifecycle_isfirstwakemonth |
Boolean |
呼び出しが月の最初の起動/ウェイクである場合のみ存在します。 | ["true" , "false" ] |
lifecycle_isfirstwaketoday |
Boolean |
呼び出しがその日の最初の起動/ウェイクである場合のみ存在します。 | ["true" , "false" ] |
lifecycle_launchcount |
Number |
あなたのアプリのこのバージョンの起動回数(最後の更新以降)。 | 3 |
lifecycle_priorsecondsawake |
Number |
最後の起動以降のアプリがアクティブだった全秒数。以前のすべてのウェイクからの合計。lifecycle_type:launch 呼び出しでのみ送信されます。 |
126 |
lifecycle_secondsawake |
Number |
最近のウェイク/起動以降のアプリがアクティブだった全秒数。 | 30 |
lifecycle_sleepcount |
Number |
あなたのアプリがスリープに入った回数の合計(更新されるとリセットされます)。 | 5 |
lifecycle_totalcrashcount |
Number |
インストール以降にカウントされたクラッシュの合計数(アプリが削除されるとのみリセットされます)。 | 21 |
lifecycle_totallaunchcount |
Number |
インストール以降の起動回数の合計(アプリが削除されるとのみリセットされます)。 | 3 |
lifecycle_totalsecondsawake |
Number |
アプリがインストール以降にウェイク/アクティブ状態にあった秒数の合計(アプリが削除されるとのみリセットされます)。 | 36 |
lifecycle_totalsleepcount |
Number |
アプリがインストール以降にバックグラウンドに入った回数の合計(アプリが削除されるとのみリセットされます)。 | 400 |
lifecycle_totalwakecount |
Number |
インストール以降の起動+ウェイクの合計数(アプリが削除されるとのみリセットされます)。 | "563" |
lifecycle_updatelaunchdate |
String |
バージョン更新が検出された後の最初のウェイク/起動のGMTタイムスタンプ。 | "2014-09-08T18:10:01Z" |
lifecycle_type |
String |
ライフサイクル呼び出しのタイプ。 | ["launch" , "wake" , "sleep" ] |
lifecycle_wakecount |
Number |
あなたのアプリのこのバージョンの起動+ウェイクの合計数(更新されるとリセットされます)。 | "29" |
クラッシュ検出
ライフサイクルモジュールは基本的なクラッシュ検出を行いますが、クラッシュの原因についての詳細は収集しません。先行するスリープイベントなしにライフサイクルの起動イベントが見られるたびに、クラッシュを記録します。
通常、アプリがユーザーによって閉じられると、OSからの通知がライフサイクルのスリープイベントをトリガーしますが、アプリがクラッシュすると、これが発生する時間がありません。したがって、スリープイベントは発生しません。クラッシュ後の次回の起動時に、lifecycle_diddetectcrash
変数がtrue
に構成され、lifecycle_totalcrashcount
変数が1増加します。
より高度なクラッシュ検出が必要な場合、Crash Reporterモジュールは各クラッシュの詳細とクラッシュの理由を提供します。現在、iOSのみでサポートされています。
APIリファレンス
UIKit
をサポートしていないプラットフォームを対象としている場合のみ、以下のAPIメソッドを使用する必要があります。
launchDetected()
起動イベントでライフサイクルレコードを更新し、ライフサイクルイベントのディスパッチをトリガーします。
func someMethodCalledAtLaunchTime {
tealium?.lifecycle?.launchDetected()
}
wakeDetected()
ウェイクイベントでライフサイクルレコードを更新し、ライフサイクルイベントのディスパッチをトリガーします。
func someMethodCalledWhenAppStarts {
tealium?.lifecycle?.wakeDetected()
}
wakeDetected()
の呼び出しは、同じ関数内でlaunchDetected()
の後に安全に追加できます。モジュールは、インスタンス化されたインスタンスごとに単一の起動イベントのみを受け入れます。
sleepDetected()
スリープイベントでライフサイクルレコードを更新し、ライフサイクルイベントのディスパッチをトリガーします。
func someMethodCalledBeforeAppTerminated {
tealium?.lifecycle?.sleepDetected()
}
dictionary
ライフサイクルデータへの読み取り専用アクセスを提供するプロパティ。[String: Any]
の辞書として提供されます。
// ライフサイクルデータ辞書から合計ウェイクカウントを取得
let wakeCount = tealium?.lifecycle?.dictionary?["lifecycle_totalwakecount"]
最終更新日 :: 2024年March月29日