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年March月29日