TagManagement モジュール
JavaScriptを実行するためにレンダリングされていないWKWebViewインスタンスを使用するUniversal Tag(utag.js)のクライアントサイド実装。
使用法
TagManagementモジュールは、レンダリングされていないWKWebView
インスタンスを使用してJavaScriptを実行するUniversal Tag(utag.js
)のクライアントサイド実装です。このモジュールは、Tealium iQタグ管理を使用するアプリで必要です。CarthageおよびCocoaPodsフレームワークビルドに自動的に含まれます。
サポートされているプラットフォーム
- iOS
必要条件
- WebKit(WKWebView)
インストール
CocoaPodsまたはCarthageでTagManagementモジュールをインストールします。
CocoaPods
CocoaPodsでTagManagementモジュールをインストールするには、次のpodをPodfileに追加します:
pod 'tealium-swift/TealiumTagManagement'
フレームワークは自動的にインスタンス化されます。TealiumCore
podに依存性があります。iOSのCocoaPodsインストールについてはこちらをご覧ください。
Carthage
CarthageでTagManagementモジュールをインストールするには、次の手順に従います:
-
Xcodeでアプリターゲットの一般構成ページに移動します。
-
次のフレームワークをEmbedded Binariesセクションに追加します:
TealiumTagManagement.framework
フレームワークは自動的にインスタンス化されます。TealiumCore
に依存性があります。追加のインポートステートメントは必要ありません。iOSのCarthageインストールについてはこちらをご覧ください。
データレイヤー
次の変数は、各トラッキング呼び出しで送信されます:
変数 | タイプ | 説明 | 例 |
---|---|---|---|
dispatch_service |
String |
トラッキング呼び出しがどのモジュールから来たかを示す静的な文字列 | "tagmanagement" |
Public API
WKWebViewプロトコルは、モジュールのマルチキャストデリゲートにWKWebView
デリゲートを準拠する別のオブジェクトを追加することでアクセス可能です:
tealium.tagManagement()?.delegates.add(MY_OBJECT)
WKWebViewについて
バージョン1.7.0以前、このモジュールは現在WKWebView
に置き換えられて非推奨となっているUIWebView
を使用していました。OSはWKWebView
が常にUIView
に接続されていることを要求します。これがUIView
に接続されていない場合、OSはパフォーマンスを大幅に制限し、JavaScriptが最適に実行されません。これに対応するため、Tag ManagementモジュールはレンダリングされていないWKWebViewをアプリのルートUIViewに接続しようとします。
アプリが複雑なビュー階層を持っていて、モジュールがrootViewController
を検出できない場合は、viewDidLoad
、viewWillAppear:
、またはviewDidAppear:
でビューを接続するためのTealiumConfigを初期化します。
リリース1.7.1はビューの自動検出を大幅に改善し、ほとんどのシナリオでビューを指定する必要をなくします。ただし、トラッキング呼び出しが正しく送信されていることを確認するために、アプリでこれをテストする必要があります。詳細はリリースノートをご覧ください。
アプリがプッシュ通知を受け取ったときにUIViewController
にジャンプし、Tealiumが初期化されたときとは異なるビュー階層を持っている場合は、次のAPIメソッドを使用して現在のUIView
を更新する必要があります。
override func viewDidLoad() {
super.viewDidLoad()
// this view does not have a navigation controller
if self.navigationController == nil {
// update the current root UIView on the Tealium instance
tealium?.updateRootView(self.view)
}
// Do any additional setup after loading the view.
}
完全な例については、サンプルアプリSwift-WKWebViewをご覧ください。
WKWebView
とUIWebView
は、クッキーを保存するために異なる方法(WKHTTPCookieStore
とHTTPCookieStorage
)を使用するため、モジュールはWKWebViewが初めて起動されたときにクッキーを自動的に同期します。HTTPCookieStorage
のクッキーは削除されませんが、最終的に自己満了します。
shouldAddCookieObserver
メソッドを使用すると、クッキーの同期中に自分のクッキーオブザーバーを使用できます。これには、クッキーを構成した後にメインスレッドでクッキーを取得するためのクッキーオブザーバーが必要です。この問題はWKWebView
のバグによって引き起こされ、自分のオブザーバーが呼び出されるのを防ぎます。
最終更新日 :: 2024年May月15日