---
title: Tealium Prismについて
description: Tealium PrismモバイルSDKについて学びましょう。
url: https://docs.tealium.com/ja/platforms/prism-mobile/about/
---
## 概要

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は、パフォーマンスと保守性のために設計されており、ウェブ依存のロジックから完全にネイティブで統一されたアプローチに移行しています。イベントがいつ、どこに配信されるかを制御する3つのコンポーネントがあります：**ルールエンジン**、**ディスパッチャー**、および**バリア**。

![](https://docs.tealium.com/images/platforms/prism/tealium-mobile-prism-components.svg)

### モバイルプロファイル

SDKの構成のほとんどはモバイルプロファイルで構成されます。モバイルプロファイルは、モジュール、拡張機能、バリア、およびロードルールをUIを通じて管理するための専用のワークスペースを提供します。モバイルプロファイルを公開してリモート構成ファイルを更新し、SDKは次のアプリのリフレッシュまたは起動時にそれをロードします。コードの変更やアプリのリリースは必要ありません。

詳細については、[create-mobile-profile](https://docs.tealium.com/create-mobile-profile/)を参照してください。

これはほとんどの構成に推奨されるアプローチです。実装コードを最小限に抑え、ビジネスや運用上のニーズに応じてSDKの動作を調整することができます。他の構成オプションについては、[詳細構成](#advanced-configuration)を参照してください。

### ネイティブランタイム

Prismは`WKWebView`に依存するレガシーを排除します。すべてのロジックは100%ネイティブ環境で実行され、カスタムルールエンジンとJSON構成によって駆動されます。これにより、メモリフットプリントが小さくなり、バッテリー効率が向上し、高スループットのイベント処理に特化したリアクティブフレームワークを使用します。

### SwiftとKotlinのパリティ

Swift SDKとKotlin SDKはほぼ同一のロジックと命名規則を共有しています。このコードのパリティにより、モバイルチームはiOSとAndroidの実装を単一のメンタルモデルで管理でき、オンボーディング時間を短縮し、プラットフォーム固有の不一致を最小限に抑えることができます。React NativeパッケージはこれらのSDKをラップし、TypeScript APIを通じてその機能のサブセットを公開します。

### イベント制御

バリアは、各送信先にイベントがいつ、どのように配信されるかを制御するルールです。これにより、イベントフローを正確に制御できます。

以前のレガシーSDKでは単一のイベントキューを使用しており、一つの送信先がオフラインの場合、すべてのイベント配信が一時停止しました。Prismでは、各ディスパッチャーが独立して動作し、バリアは送信先ごとに構成できるため、並行処理が可能であり、ボトルネックを最小限に抑えることができます。

たとえば、Tealium Collectは接続性とバッチ処理のバリアを使用して帯域幅を最適化し、信頼性の高い配信を保証します。サードパーティのSDKはオフラインでもリアルタイムでイベントを受け取るため、自身のキューを管理できます。

![](https://docs.tealium.com/images/platforms/prism/tealium-mobile-prism-event-flow.svg)

### ネイティブ変換

デバイスを離れる前にSwiftまたはKotlinでイベントペイロードを変更するために、カスタムロジックまたは組み込みのTealium iQ拡張機能を使用したネイティブ変換を使用します。ネイティブ変換は、データの問題を修正するか、アプリの更新なしでロジックを更新するのに理想的です。

### 詳細構成

リモート構成が十分でないシナリオのために、2つの追加の構成方法があります。

**ローカルJSON**は、アプリに直接構成ファイルをバンドルします。デバイスがリモート構成エンドポイントに到達できない場合や、最初のリモートフェッチが完了する前に動作を事前に構成するために、信頼性の高いフォールバックとして使用します。

**プログラム構成**は、SDKの構成APIを使用してコード内で直接値を構成します。次の場合に使用します：

* 構成がランタイムのデバイス状態に依存する場合：たとえば、利用可能なディスクスペースに基づいてバッチサイズを調整する場合。
* リモート変更に対して構成をロックする必要がある場合：たとえば、公開ミスが詳細なログを有効にできないように、本番ビルドで`LogLevel.silent`を強制する場合。
* プラットフォームへの変更を公開せずに開発中の動作を確認する必要がある場合。

プログラム構成は最高の優先順位を持ち、リモートおよびローカルJSONの両方を上書きします。その他の場合は、UIを使用して構成します。

| 方法 | 優先順位 | 使用時 |
| :--- | :--- | :--- |
| **プログラム** | 1（最高） | ランタイムで計算された値やコードでロックする必要がある構成。 |
| **リモート構成** | 2 | 標準的な運用構成 — モジュール、バリア、変換、ルール。 |
| **ローカルJSON** | 3 | アプリにバンドルされたフォールバックのデフォルト。 |
