配信ロジックについて
Nubrick SDKにおけるエクスペリメントは「埋め込み(Embeddable Experiment)」と「オーバーレイ表示(In-App Messaging / Product Tour)」の2つのコンポーネント別に配信ロジックが異なるためそれぞれに付いて解説します
Last updated
Nubrick SDKにおけるエクスペリメントは「埋め込み(Embeddable Experiment)」と「オーバーレイ表示(In-App Messaging / Product Tour)」の2つのコンポーネント別に配信ロジックが異なるためそれぞれに付いて解説します
アプリのネイティブレイアウト内に特定のUIを動的に挿入するコンポーネントです
Viewの初期化時
実装された NubrickEmbedding ウィジェット(Flutter等)やViewがレンダリングされるタイミングで評価・表示されます
暗黙的なトリガー
特定のイベント発火を待つのではなく、その「場所(ID)」に到達したことが表示のトリガーとなります
埋め込みID (Embedding ID): コード内に埋め込まれた固有のIDをキーとして、管理画面上の設定と紐付けます
トリガー設定の不要性: オーバーレイと異なり、明示的なイベント(アプリ起動等)の設定は不要です。特定の画面表示=表示タイミングとなります
Context Resolution
SDKが保持している現在の User Properties(setPropertiesで注入された値)を読み込みます
Targeting Evaluation
管理画面で定義された対象ユーザー条件とプロパティを照合します
注意:埋め込みの場合、条件指定は set_properties による属性ベースのみとなります。
Conflict Resolution (優先度判定)
同一の埋め込みIDに対して、条件を満たす複数のエクスペリメントが存在する場合、設定された 「優先度(Priority)」が最も高いもの を1つ選出します
Resource Fetch & Render
選出されたエクスペリメントの構成JSONを取得し、ネイティブUIとして描写します
特定のユーザーアクションや状態変化に応じて、オーバーレイで表示されるコンポーネントです
イベントドリブン
アプリ起動、バックグラウンド復帰、または NubrickDispatcher によって明示的に送信されたカスタムイベント(例:purchase_completed)の発生直後に評価されます
イベントトリガー
デフォルトイベント:アプリ起動、初回起動、バックグラウンド復帰
カスタムイベント:SDKを通じて任意に定義・発火させたイベント、SDKのAPIを経由して発火させたイベント
頻度制御 (Frequency Control)
「毎回」「1回のみ」「1日1回」「n日に1回」といった表示回数制限を、端末内のローカルDB(履歴データ)を用いて判定します
Event Capture
NubrickDispatcher がイベントを検知し、当該イベントに紐づく全ての Modal/Tour の構成(Config)をロードします
Multilayer Filtering
属性フィルタ: setProperties の値がターゲットセグメントに合致するか判定
スケジュールフィルタ: 現在のデバイス時刻が、配信期間(開始・終了)およびカスタムスケジュール(曜日・時間帯)内か判定
頻度フィルタ: 過去のインプレッションログに基づき、頻度設定を逸脱していないか判定
Priority Evaluation
フィルタを通過した候補が複数ある場合、優先度が最も高いもの を選出します(Flutterの場合、ツールチップも同様のロジックで評価されます)
Execution
条件に合致したJSONファイルを取得し、最前面のレイヤーに表示を実行します
Last updated