• 手引き
  • プラットフォーム
  • パートナー
  • English
  • TLC Tealium Learning Center Tealium Learning
    Community
  • Discussions & Ideas Dicussions & Ideas
  • Product Guides Product Guides
  • Knowledge Base Knowledge Base
  • Developer Docs Developer Docs
  • Education Education
  • TLC Blog TLC Blog
  • Support Desk Support Desk
  • CDH Customer Data Hub Customer Data Hub

目次

  • 要件
  • サンプルアプリ
  • コードの取得
  • インストール
    • Maven
    • 手動
  • 初期化
  • ログレベル
  • Cookie
  • イベントバッチ処理
  • マルチプロセスアプリ
ANDROID JAVA

インストール

Android向け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によってインストールするには(推奨):

  1. Tealium MavenのURLを、プロジェクトの最上位にあるbuild.gradleファイルに追加します。

    allprojects {
      repositories {
        jcenter()
        maven {
          url "https://maven.tealiumiq.com/android/releases/"
        }
      }
    }
  2. プロジェクトモジュールのbuild.gradleファイルに、以下のようにMavenの依存関係を追加します。

    dependencies {
      implementation 'com.tealium:library:5.6.1'
    }

手動

Tealium for Androidライブラリを手動でインストールするには:

  1. flatDirをプロジェクトのルートにあるbuild.gradleファイルに追加します。

    allprojects {
      repositories {
         jcenter()
         flatDir {
             dirs 'libs'
         }
      }
    }
  2. Add tealium-5.x.x.aar to <PROJECT_ROOT>/<MODULE>/libs.

  3. Tealiumライブラリの依存関係をbuild.gradleファイルに追加します。

    dependencies {
      implementation(name:'tealium-5.6.1', ext:'aar')
    }

初期化

初期化するには、次の変更をアプリのonCreate()メソッドに加えます。

  1. Tealium.Configオブジェクトのインスタンスを作成します。

    Tealium.Config tealConfig = Tealium.Config.create(
        this,
        "ACCOUNT",
        "PROFILE",
        "ENVIRONMENT");
  2. 追加の必要なメソッド(setDatasourceId()など)を呼び出して、構成データを設定します。

    tealConfig.setDatasourceId("DATASOURCE_ID");
  3. setupInstance()メソッドを呼び出して、アプリのライフサイクルインスタンスを設定します。

    LifeCycle.setupInstance("INSTANCE_NAME", config, true);
  4. 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はいずれも、同一のプロセスで実行されます。

2つ以上のプロセスにおいてより多くのWebViewのインスタンスを実装し、TealiumのTag Managementソリューションを使用する場合は、アプリがクラッシュしないよう、Tealiumのインスタンスを作成する前にsetDataDirectorySuffixを呼び出すことを推奨しています。

TealiumのTag ManagementのCookieとウェブデータにアクセスする必要がある場合は、CookieManagerクラスのgetCookie()およびsetCookie()メソッドを使用して、プロセス間でコピーします。

その他の読み物:『プロセスで分けられたウェブベース データ ディレクトリ』

トラッキング

 
  • モバイル
  • 始める
    • 概要
    • モバイルの概念
    • クライアントサイド
    • サーバーサイド
    • データレイヤー
    • 同意管理
    • イベントバッチ処理
    • ユーザーの位置情報とジオフェンシング
    • 機能比較
    • トラブルシューティング
  • Remote Commands
    • 概要
    • 仕組み
    • リモートコマンド
      • リモートコマンド:AppsFlyer
      • リモートコマンド:Braze
      • リモートコマンド:Contentsquare
      • リモートコマンド:Facebook
      • Firebase
      • リモートコマンド:Usabilla
  • Android (Java)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • データ管理
    • 同意管理
    • モジュールのリスト
      • Ad Identifierモジュール
      • Crash Reporterモジュール
      • Install Referrerモジュール
      • Lifecycle Trackingモジュール
      • Locationモジュール
      • Optimizely X Trackingモジュール
    • Android TV
    • Android Wear
    • APIリファレンス
      • ConsentManager
      • DataSources
      • LifeCycle
      • Tealium
      • Tealium.Config
      • TealiumLocation
    • リリースノート
  • Cordova
    • 概要
    • インストール
    • トラッキング
    • データ管理
    • モジュールのリスト
      • Ad Identifierモジュール
      • Crash Reporterモジュール
      • Install Referrerモジュール
    • APIリファレンス
    • リリースノート
  • Flutter
    • 概要
    • インストール
    • トラッキング
    • 同意管理
    • データ管理
    • APIリファレンス
    • リリースノート
  • iOS (Objective-C)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • データ管理
    • 同意管理
    • Tag Management
    • モジュールのリスト
      • Lifecycle Trackingモジュール
      • Optimizely X Trackingモジュール
    • tvOS
    • watchOS
    • APIリファレンス
    • リリースノート
  • iOS (Swift)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • データ管理
    • アイデンティティの解決
    • アプリ拡張機能
    • 同意管理
    • モジュール
    • モジュールのリスト
      • AppDataモジュール
      • Attributionモジュール
      • AutoTrackingモジュール
      • Collectモジュール
      • Connectivityモジュール
      • CrashReporterモジュール
      • DataSourceモジュール
      • DefaultStorageモジュール
      • Delegateモジュール
      • DeviceDataモジュール
      • DispatchQueueモジュール
      • FileStorageモジュール
      • Lifecycleモジュール
      • Locationモジュール
      • Loggerモジュール
      • PersistentDataモジュール
      • RemoteCommandsモジュール
      • TagManagementモジュール
      • VisitorServiceモジュール
      • VolatileDataモジュール
    • Objective-Cとの連携
    • 機能比較
    • APIリファレンス
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManagerDelegate
      • TealiumConsentManager
      • TealiumInstanceManager
      • TealiumPersistentData
      • TealiumVolatileData
      • Tealium
    • リリースノート
  • React Native
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
    • リリースノート
  • Xamarin
    • 概要
    • インストール
    • トラッキング
    • データ管理
    • 同意管理
    • APIリファレンス
    • リリースノート
  • ウェブ
  • AMP
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
  • Angular
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • JavaScript (Web)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • ユニバーサルデータオブジェクト(utag_data)
    • ユニバーサルタグ(utag.js)
    • データレイヤーオブジェクト(b)
    • 単一ページアプリケーション
    • 設定
    • デバッグ
    • APIリファレンス
    • リリースノート
  • サーバーサイド
  • C#
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • APIリファレンス
    • リリースノート
  • HTTP API
    • 概要
    • エンドポイント
    • データレイヤー
  • Java
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
    • リリースノート
  • Node
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Python
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Roku
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Ruby
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Unity
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス

このページはお役にたちましたでしょうか?

最終更新日 :: 2020年August月27日       ご意見有難うございます。
  • 手引き
  • プラットフォーム
  • パートナー
  • モバイル
  • 始める
  • Remote Commands
  • Android (Java)
  • Cordova
  • Flutter
  • iOS (Objective-C)
  • iOS (Swift)
  • React Native
  • Xamarin
  • ウェブ
  • AMP
  • Angular
  • JavaScript (Web)
  • サーバーサイド
  • C#
  • HTTP API
  • Java
  • Node
  • Python
  • Roku
  • Ruby
  • Unity