インストール
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日