Tealium Prism モバイル SDK について説明します。
概要
Tealium Prism は、iOS(Swift)、Android(Kotlin)、React Native 向けのモバイル SDK です。アプリに単一のイベント API を実装すると、Prism がそれらのイベントを Tealium Collect およびサポート対象のサードパーティ SDK にルーティングします。構成の大部分は Tealium モバイルプロファイルで行うため、アプリを新しくリリースすることなく、モジュール、ルール、変換を更新できます。
メリット
- 統合イベント API:Swift と Kotlin では概念と命名がほぼ同一の一貫したイベント API を、React Native では TypeScript API を提供します。
- マルチディスパッチャーパイプライン:同じイベントを Tealium Collect とデバイス上のベンダー SDK に並行して送信します。
- ルールエンジンとバリア:接続状況、バッチ処理、その他の条件に基づいてイベント配信を制御します。
- デバイス上の変換:イベントペイロードがデバイスから送信される前に変更、拡張、またはフィルタリングできます。App Store/Play Store で新しいリリースを公開することなく、ロジックを更新することもできます。
- リモート構成:アプリをリリースすることなく、Tealium モバイルプロファイルからモジュール、ルール、バリア、変換を管理します。
仕組み
Tealium Prism はパフォーマンスと保守性を重視して構築されており、Web に依存するロジックから脱却して、完全にネイティブで統一されたアプローチを採用しています。イベントをいつ、どこに配信するかは、ルールエンジン、ディスパッチャー、バリアという 3 つのコンポーネントによって制御されます。
モバイルプロファイル
SDK 構成の大部分は、モバイルプロファイルで構成します。モバイルプロファイルには、UI を使用してモジュール、拡張機能、バリア、ロードルールを管理するための専用ワークスペースが用意されています。モバイルプロファイルを公開するとリモート構成ファイルが更新され、SDK は次回のアプリ更新時または起動時にそのファイルを読み込みます。コードの変更やアプリのリリースは必要ありません。
詳細については、モバイルプロファイルを作成するを参照してください。
ほとんどの構成では、この方法を推奨します。実装コードを最小限に抑えながら、ビジネス上または運用上のニーズに応じて、チームが SDK の動作を調整できます。その他の構成方法については、高度な構成を参照してください。
ネイティブランタイム
Prism では、従来の WKWebView への依存関係を排除しています。すべてのロジックは、カスタムルールエンジンと JSON 構成を利用する 100% ネイティブな環境で実行されます。高スループットのイベント処理に特化したリアクティブフレームワークを使用することで、メモリ使用量を削減し、バッテリー効率を向上させます。
Swift と Kotlin の同等性
Swift SDK と Kotlin SDK は、ほぼ同一のロジックと命名規則を共有しています。このコードの同等性により、モバイルチームは単一のメンタルモデルで iOS と Android の実装を管理できるため、オンボーディング時間を短縮し、プラットフォーム固有の差異を最小限に抑えられます。React Native パッケージはこれらの SDK をラップし、TypeScript API を通じてその機能の一部を公開します。
イベント制御
バリアは、各送信先にイベントをいつ、どのように配信するかを制御するルールであり、イベントフローをきめ細かく制御できます。
従来の SDK では単一のイベントキューを使用していたため、1 つの送信先がオフラインになると、すべてのイベント配信が一時停止していました。Prism では、各ディスパッチャーが独立して動作し、送信先ごとにバリアを構成できるため、並列処理が可能になり、ボトルネックを最小限に抑えられます。
たとえば、Tealium Collect は接続バリアとバッチ処理バリアを使用して、帯域幅を最適化し、確実な配信を実現します。サードパーティ SDK はオフライン時でもリアルタイムでイベントを受信するため、独自のキューを管理できます。
ネイティブ変換
カスタムロジックまたは組み込みのタグ管理拡張機能によるネイティブ変換を使用して、イベントペイロードがデバイスから送信される前に、Swift または Kotlin で変更できます。ネイティブ変換は、アプリを更新せずにデータの問題を修正したり、ロジックを更新したりする場合に最適です。
高度な構成
リモート構成では不十分なシナリオ向けに、2 つの追加構成方法を利用できます。
ローカル JSON では、構成ファイルをアプリに直接バンドルします。デバイスがリモート構成エンドポイントに接続できない場合の信頼性の高いフォールバックとして使用するか、最初のリモート取得が完了する前に動作を事前構成するために使用します。
プログラムによる構成では、SDK の構成 API を使用してコード内で直接値を構成します。次の場合に使用します。
- 構成が実行時のデバイスの状態に依存する場合。たとえば、使用可能なディスク容量に基づいてバッチサイズを調整する場合です。
- リモートから変更できないように構成を固定する必要がある場合。たとえば、公開時のミスによって詳細ログが有効にならないよう、本番ビルドで
LogLevel.silentを強制する場合です。 - プラットフォームに変更を公開せず、開発中に動作を検証する必要がある場合。
プログラムによる構成は最も優先度が高く、リモート構成とローカル JSON の両方を上書きします。それ以外の場合は、UI を使用して構成してください。
| 方法 | 優先度 | 使用する場合 |
|---|---|---|
| プログラムによる構成 | 1(最高) | 実行時に計算される値、またはコード内で固定する必要がある構成。 |
| リモート構成 | 2 | モジュール、バリア、変換、ルールなどの標準的な運用構成。 |
| ローカル JSON | 3 | アプリにバンドルするフォールバック用のデフォルト構成。 |
最終更新日 :: 2026年November月3日