インストール
Android (Java) 向け Tealium SDK のインストールについて説明します。
要件
- Android Studio
- Android(KitKat/4.4以降/APIレベル19以上)
- Tealium iQモバイルプロファイル
- Tealium Customer Data Hubアカウント
サンプルアプリ
当社のライブラリ、トラッキングメソッド、ベストプラクティスの実装に精通していただけるよう、Android向けTealiumのサンプルアプリをご確認いただけるようになっています。
コードの取得
Tealium Androidライブラリをクローンします。ライブラリをダウンロードせずクローンすることで、今後のリリースに向けたアップデートがしやすくなります。
Android向けTealiumクラスおよびメソッドの完全なリストについては、Tealium APIを参照してください。
インストール
Android向けTealium SDKをMavenによって、または手動でインストールします。
Maven
Tealium for AndroidライブラリをMavenによってインストールするには(推奨):
- Tealium MavenのURLを、プロジェクトの最上位にある
build.gradleファイルに追加します。
allprojects {
repositories {
mavenCentral()
maven {
url "https://maven.tealiumiq.com/android/releases/"
}
}
}
- プロジェクトモジュールの
build.gradleファイルに、以下のようにMavenの依存関係を追加します。
dependencies {
implementation 'com.tealium:library:5.8.0'
}
手動
Tealium for Androidライブラリを手動でインストールするには:
flatDirをプロジェクトのルートにあるbuild.gradleファイルに追加します。
allprojects {
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
}
-
tealium-5.x.x.aarを<PROJECT_ROOT>/<MODULE>/libsに追加します。 -
Tealiumライブラリの依存関係を
build.gradleファイルに追加します。
dependencies {
implementation(name:'tealium-5.6.1', ext:'aar')
}
初期化
初期化するには、次の変更をアプリのonCreate()メソッドに加えます。
Tealium.Configオブジェクトのインスタンスを作成します。
Tealium.Config tealConfig = Tealium.Config.create(
this,
"ACCOUNT",
"PROFILE",
"ENVIRONMENT");
- 追加の必要なメソッド (
setDatasourceId()など) を呼び出して、構成データを構成します。
tealConfig.setDatasourceId("DATASOURCE_ID");
setupInstance()メソッドを呼び出して、アプリのライフサイクル インスタンスを構成します。
LifeCycle.setupInstance("INSTANCE_NAME", config, true);
createInstance()メソッドを呼び出して Tealium インスタンスを作成し、構成インスタンスをコンストラクタ引数として渡します。
tealium = Tealium.createInstance("INSTANCE_NAME", tealConfig);
Collectがバージョン5.5.1以降で有効になっている場合、データはTealium.Configオブジェクトで提供されるプロファイルに送信されます。それより前のバージョンでは、データはデフォルトのプロファイル("main")に送信されます。
ログレベル
ログレベルはリモート公開構成により管理され、初期化の際に構成された環境から推測されます。
バージョン 5.3.1 以降、次の例に示すように setForceOverrideLogLevel() メソッドを使用して、ログ レベルをローカルでオーバーライドすることができます。
tealConfig.setForceOverrideLogLevel("LOG_LEVEL");
Cookie
モバイルプロファイルでTag Managementを有効にしている場合は、Cookieを有効にする必要があります。
初期化ステートメントの後に次のコードを追加して、Cookie管理をアクティベートします。
config.getEventListeners().add(createCookieEnablerListener());
private static WebViewCreatedListener createCookieEnablerListener() {
return new WebViewCreatedListener() {
@Override
public void onWebViewCreated(WebView webView) {
final CookieManager mgr = CookieManager.getInstance();
// Accept all cookies
mgr.setAcceptCookie(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mgr.setAcceptThirdPartyCookies(webView, true);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {
CookieManager.setAcceptFileSchemeCookies(true);
}
Log.d(TAG, "WebView " + webView + " created and cookies enabled.");
}
};
}
このコードを使用すると、タグ管理Webviewは、ファーストパーティ、サードパーティ、およびファイルスキームのCookieを[受け入れる](https://developer.android.com/reference/android/webkit/CookieManager.html#acceptCookie()ことができます。
バージョン5.1.0以降では、CookieManagerがデフォルトで有効になっています。バージョン5.0.4以前では、CookieManagerがデフォルトで無効になっています。
イベントバッチ処理
イベントバッチ処理を有効にするには、モバイル公開構成に移動して、バッチサイズを1より大きい値に構成します。キュー内のイベントの数がバッチサイズと等しくなると、イベントがディスパッチされます。
イベントのディスパッチは、_バッチタイムアウト_構成に基づいてトリガーすることもできます。この構成により、バッチサイズに達していない場合でも、一定の時間が経過したときにキューがディスパッチされるようになります。バッチ タイムアウトを構成するには、メソッド setSecondsBeforeBatchTimeout()を呼び出します。
バッチ サイズとバッチ タイムアウト チェックをオーバーライドするには、メソッド requestFlush()を呼び出してキューを即座にフラッシュします。
デバイスがオフラインであるか、Consent Managerが有効になっている場合は、フラッシュオーバーライドを行っても効果がありません。
マルチプロセスアプリ
Android 9以降のマルチプロセスアプリケーション
Android 9では、マルチプロセスアプリケーションにおけるWebViewデータディレクトリに関する挙動が変更されました。この変更により、複数のWebViewがマルチプロセスで1つのデータディレクトリを共有しなくなりました。通常は、1つのWebViewを共通して使用するActivityはいずれも、同一のプロセスで実行されます。
Tag Management モジュールを使用して WebViewの追加のインスタンスを実装する場合は、アプリがクラッシュしないよう、Tealium のインスタンスを作成する前に WebView.setDataDirectorySuffix() を呼び出すことを推奨しています。
Tag Management モジュールから Cookie とウェブ データにアクセスする必要がある場合は、 CookieManager.getCookie() と CookieManager.setCookie() メソッドを使用して、プロセス間でコピーします。
詳しく知るには、 プロセスで分けられたウェブベース データ ディレクトリ を参照します。
最終更新日 :: 2024年April月30日