インストール
Android(Kotlin)用のTealium SDKのインストール方法を学びます。
必要条件
- Android Studio
- Android SDK (Lollipop/5.0+ / API Level 21+)
- Tealium iQ Mobile Profile
- Tealium Customer Data Hub account
サンプルアプリ
Android(Kotlin)のサンプルアプリを探索して、Tealiumライブラリ、トラッキングイベント、ベストプラクティスの実装についての知識を深めます。
さらに、Tealiumの機能をすべて中央のヘルパークラスに抽象化することをお勧めします。私たちのサンプルヘルパークラスを探索してみてください。
コードの取得
Tealium Androidライブラリをクローンします。ダウンロードするのではなく、ライブラリをクローンすることで、将来のリリースに簡単に更新できます。
TealiumクラスとAndroid用のTealiumメソッドの完全なリストについては、Tealium APIを参照してください。
インストール
Tealium Kotlinライブラリはモジュールに分割されています。可能な限り最小のインストールサイズを維持するために、必要な機能を達成するために必要なモジュールのみをインストールすることをお勧めします。
Tealium KotlinライブラリはMavenまたは手動でインストールします。
Maven
Android用のTealiumライブラリをMavenでインストールするには(推奨):
-
プロジェクトのトップレベルの
build.gradleファイルにTealium Maven URLを追加します:allprojects { repositories { mavenCentral() maven { url "https://maven.tealiumiq.com/android/releases/" } } } -
プロジェクトモジュールの
build.gradleファイルに、次のMaven依存関係を追加します:dependencies { implementation 'com.tealium:kotlin-core:1.5.5' }
手動
Android用のTealiumライブラリを手動でインストールするには:
-
プロジェクトルートの
build.gradleファイルにflatDirを追加します:allprojects { repositories { mavenCentral() flatDir { dirs 'libs' } } } -
tealium-kotlin-1.5.x.aarを<PROJECT_ROOT>/<MODULE>/libsに追加します。 -
build.gradleファイルにTealiumライブラリの依存関係を追加します:dependencies { implementation(name:'tealium-kotlin-1.5.5', ext:'aar') }
初期化
Tealiumを初期化するには、TealiumConfigインスタンスを設定し、それをTealiumインスタンスに渡します。アプリのグローバルアプリケーションクラスの onCreate() メソッド内でTealium Kotlinライブラリを初期化することをお勧めします。
トラッキングヘルパークラスを使用してTealiumインスタンスを管理します。これにより、Tealium Kotlinライブラリの単一のエントリポイントが提供され、将来のアップグレードが簡素化されます。
object TealiumHelper {
lateinit var tealium: Tealium
fun init(application: Application) {
val tealiumConfig = TealiumConfig(
application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dataSourceId = "DATASOURCE_ID", //optional
modules = mutableSetOf(VisitorService),
dispatchers = mutableSetOf(Dispatchers.Collect)
)
tealium = Tealium.create("tealium_instance", tealiumConfig)
}
}
以下を置き換えます:
ACCOUNT: ライブラリを初期化するために使用したいTealiumアカウント名(小文字)。PROFILE: ライブラリを初期化するために使用したいTealiumプロファイル名(小文字)。DATASOURCE_ID: TealiumデータソースID。
ディスパッチャー
データをTealiumエコシステムに送信するには、以下のディスパッチャーから選択します:
- Tag Management
TagManagement Dispatcherを追加して、Tealium iQ Tag Managementを使用し、そのタグ管理設定ロジックを利用します。 - Collect
Collect Dispatcherを追加して、Tealium Customer Data Hubのサーバーサイドソリューションを使用します。
ログレベル
ログレベルは TealiumConfig インスタンスからの環境に設定されます。
異なるログレベルを使用するには、logLevelプロパティを設定します:
config.logLevel = LogLevel.DEV // or LogLevel.QA, LogLevel.PROD
クッキー
クッキーはデフォルトでwebviewで有効になっています。
イベントバッチング
イベントバッチングは、TealiumConfig インスタンス上でローカルに設定するか、またはMobile Publish Settingsを使用してリモートで設定できます。バッチサイズを1より大きい値に設定すると有効になります。キュー内のイベント数がバッチサイズと等しいときにイベントがディスパッチされます。
以下は、ローカルでバッチングを設定するときの可能なオプションを示しています:
object TealiumHelper {
private lateinit var tealium: Tealium
fun init(app: Application) {
config.overrideDefaultLibrarySettings = LibrarySettings(
batching = Batching(
batchSize = 10, // send in batches of 10 (default: 1)
maxQueueSize = 1000, // maximum of 1000 queued events (default: 100)
expiration = TimeUnit.DAYS // queue for a maxumum of 5 days (default: 86400)
.toSeconds(5).toInt()
)
)
}
}
Javaからの移行
JavaライブラリからKotlinライブラリに移行するとき、以下の保存データが自動的に移行されます:
- 同意の設定
- ライフサイクルデータ
- 永続データ
* Persistent Data APIを通じて追加されたカスタム永続データ
* Tealium永続データ:
app_uuid,tealium_visitor_id
Kotlinライブラリへの移行が完了すると、Javaライブラリからのレガシーデータは削除されます。その後、Javaライブラリに戻ると、新しい tealium_visitor_id と app_uuid が生成され、カスタム永続データが失われます。
Android Wear
Android Wearアプリの場合、データ収集にはCollectモジュールを使用します。Android Wear OSがwebviewのサポートを提供していないため、Tag Managementモジュールはサポートされていません。
Tealium for Androidを使用してAndroid Wearアプリを開発している場合、Googleはスタンドアロンアプリの作成を推奨しています。
マルチプロセスアプリ
Android 9+ マルチプロセスアプリケーション
Android 9では、マルチプロセスアプリケーションの WebView データディレクトリに関する動作の変更が導入されました。この変更により、WebView は複数のプロセス間で単一のデータディレクトリを共有しなくなりました。通常、WebView を使用するすべてのアクティビティを同じプロセスに配置することをお勧めします。
Tag Managementモジュールを使用し、WebView の追加インスタンスを実装する場合、アプリがクラッシュするのを防ぐために、Tealiumインスタンスを作成する前に WebView.setDataDirectorySuffix() を呼び出すことをお勧めします。
Tag Managementモジュールからクッキーとウェブデータにアクセスする必要がある場合は、CookieManager.getCookie() および CookieManager.setCookie() メソッドを使用してプロセス間でコピーします。
詳細については、Web-based data directories separated by processを参照してください。
最終更新日 :: 2024年April月17日