KARTE for Appにおいて、接客表示前後に画面境界を認識した際の接客表示を制御するオプションです。

なお、「画面の境界を認識する条件」については以下ドキュメントをご確認ください。

各オプションを指定した場合の接客の挙動について以下表に示します。
詳しくは「オプションの詳細と設定方法」をご確認ください。

オプション 接客表示後に画面境界を認識 接客表示前に画面境界を認識
無効 ※1 表示中の接客をリセット 接客が表示される
表示を制限する ※1 表示中の接客をリセット 接客が表示されない
常に表示する 接客を表示したまま 接客が表示される

※1 接客のリセットにより接客は閉じられますが、その場合 message_close イベントは発生しません。

オプションの詳細と設定方法

「無効」を指定

「無効」を指定した場合、イベントを送信してから接客を表示するまでに画面境界を認識しても特に制御を行いません。(ただし、接客表示後に画面境界を認識した場合には表示中の接客がリセットされます。)
そのため、表示前の画面遷移によって、表示中の画面と異なる文脈の接客が表示される可能性があります。

「表示を制限する」を指定

表示前の画面遷移によって、表示中の画面と異なる文脈の接客が表示されることを避けたい場合「表示を制限する」を指定します。
KARTE for Appの仕様上、イベントを送信してから接客を表示するまでの間に本来表示されるべき画面(画面A)から画面遷移(画面B)が発生した場合、該当の接客が遷移後の画面Bで表示されます。
本オプションを指定することで、上記の場合に画面Bでは受信した接客を表示しないように設定することができます。

なお、本オプションの設定にあたっては以下の点にご注意ください。

  1. 画面Bにviewイベントなどのイベントが発火しない、かつ画面の境界と認識されない場合(実装していない場合)には、本機能を設定しても画面Bに接客サービスが表示されます。

  2. ネイティブ側のviewイベント発生を契機にページ遷移とみなし、遷移先画面での接客表示を抑制する機能となるため、WebView内のviewイベント(_sourceがnative_app_webview)では、この表示制御は効かないことにご注意ください。

  3. 本オプションにより接客表示前に接客がリセットされた時には reasonフィールドに The display is suppressed by native_app_display_limit_mode. が設定された _message_suppressed イベントが発生します。

  4. 「無効」同様、接客表示後に画面境界を認識した場合に表示中の接客がリセットされます。(この場合には _message_suppressed イベントは発生しません。)

具体的な設定方法は下記の二つがあります。

接客編集画面で設定する

接客編集画面のオプションにてネイティブアプリにおける接客表示制御という項目がありますので、この中から「表示を制限する」を指定します。
null

プラグイン設定画面で設定する

デフォルトでONにしたい場合は「プラグイン設定>KARTE for App」からデフォルト有効化をONにします。
null

「常に表示する」を指定

「無効」や「表示を制限する」の指定では、画面遷移やviewイベント発生時に表示中の接客がリセットされます。
また、トリガーとするイベントによってはイベント送信後にviewイベントが発生してしまい、接客が表示されないことがあります。
これらの接客の表示前後の画面境界の認識で接客が表示されない状況を避け確実に接客を表示するために本オプションを指定できます。
また、画面を跨いで接客を常駐させたい場合にも本オプションは有効です。

※本オプションはSDK InAppMessaging v2.5.0以降でのみ有効です。
該当バージョン以前で利用しようとした場合は、「無効」を指定した場合と同じ挙動になります。

※本オプションは同時配信がOKの場合のみ有効になります。NGの場合は正常に動作しないので必ず同時配信をOKにしてください

接客編集画面で設定する

接客編集画面のオプションにてネイティブアプリにおける接客表示制御という項目がありますので、この中から「常に表示する」を指定します。
null

接客を非表示にする方法

「常に表示する」を指定した場合、明示的に接客を非表示にしない限りは接客は非表示になりません。
接客を非表示にする方法は以下の二つがあります。

1.アクション側で非表示にする

接客のアクション側でhtmlのclassに karte-close などを指定して接客を非表示にする仕組みを用意し、アプリ利用者の操作によって接客を非表示にする。

2.アプリ側で非表示にする

KARTE SDKを利用して、接客を非表示にする実装をすることで接客を非表示にする。
実装方法については以下を参考ください。