Connectivityモジュール
仕組み
Connectivityモジュールは、AppleのReachability APIを使用してネットワーク接続を監視し、ネットワークに接続していないことがデバイスから報告された場合にディスパッチを自動的にキューに入れます。
トラッキングコールが送信されるたびに、このモジュールでは現在の接続ステータスを確認し、インターネットに到達できない場合はリクエストをキューに追加し始めます。新しいトラッキングコールが受信されるたびに、接続ステータスを再度確認し、接続ステータスが変化して再び到達できるようになった場合は、以前キューに追加されたリクエストがすべて送信され、キューがクリアされます。
さらに、バージョン1.6.5の時点では、接続ステータスが”到達不能”と検出されると自動的にデフォルトで30秒ごとにステータスが確認されます(TealiumConfig
でオーバーライド可能)。ステータスが”到達不能”から”到達可能”に変化すると、キューは自動的にフラッシュされます(つまり、キュー内のすべてのトラッキングコールがディスパッチされます)。
自動接続確認は、接続ステータスが”到達可能”に変更されるとキャンセルされ、”到達不能”と検出されると再開されます。このように、必要な場合に接続ステータスの変化を監視するだけで、リソースが節約されます。
使用方法
このモジュールの使用を強く推奨します。これがないと、デバイスがオフラインの場合にディスパッチが失敗し、中断されます。
以下のプラットフォームがサポートされています。
- iOS
- tvOS
- macOS
- watchOS
要件
SystemConfiguration
TealiumDispatchQueue
.厳密にはコンパイル時の依存関係ではありませんが、このモジュールが含まれていない場合はディスパッチが正常に格納されません。
インストール
ConnectivityモジュールをCocoaPodsまたはCarthageによってインストールします。
CocoaPods
ConnectivityモジュールをCocoaPodsによってインストールするには:
次のポッドをPodfileに追加します。
pod 'tealium-swift/TealiumConnectivity'
Connectivityモジュールを使用してディスパッチを永続化する場合は、次の必須のポッドを追加します。
pod 'tealium-swift/TealiumDispatchQueue'
フレームワークは自動でインスタンス化され、TealiumCore
ポッドに依存しています。iOS向けCocoaPodsのインストールの詳細については、こちらを参照してください。
Carthage
ConnectivityモジュールをCarthageによってインストールするには、以下の手順に従います。
Xcodeで対象アプリの[General]構成ページに移動します。
以下のフレームワークを[Embedded Binaries]セクションに追加します。
TealiumConnectivity.framework TealiumDispatchQueue.framework
フレームワークは自動でインスタンス化され、TealiumCore
に依存しています。追加のインポートステートメントは必要ありません。iOS向けCarthageのインストールの詳細については、こちらを参照してください。
データレイヤー
モジュールが有効な場合に、トラッキングコールのたびに以下の変数が送信されます。
変数 | 説明 | 例 |
---|---|---|
was_queued |
接続がないことが原因でトラッキングコールがキューに追加されたかどうかを示します。キューに追加されたイベントだけに存在する変数であり、その他すべてのイベントにはありません。 | ["true" , "false" ] |
queue_reason |
このイベントがキューに追加された理由を示します(現時点ではconnectivity またはconsent )。 |
connectivity |
network_connection_type |
現在の接続の種類 | ["wifi" , "cellular" ] |