KARTE for Appにおいて、接客表示前後に画面境界を認識した際の接客表示を制御するオプションです。
なお、「画面の境界を認識する条件」については以下ドキュメントをご確認ください。
各オプションを指定した場合の接客の挙動について以下表に示します。
詳しくは「オプションの詳細と設定方法」をご確認ください。
オプション | 接客表示後に画面境界を認識 | 接客表示前に画面境界を認識 |
---|---|---|
表示制御をしない | ※1 表示中の接客をリセット | 接客が表示される |
表示制御をする | ※1 表示中の接客をリセット | 接客が表示されない |
表示制御をしない、かつ常に表示する | 接客を表示したまま | 接客が表示される |
※1 接客のリセットにより接客は閉じられますが、その場合 message_close イベントは発生しません。
オプションの詳細と設定方法
「表示制御をしない」を指定
「表示制御をしない」を指定した場合、イベントを送信してから接客を表示するまでに画面境界を認識しても特に制御を行いません。(ただし、接客表示後に画面境界を認識した場合には表示中の接客がリセットされます。)
そのため、表示前の画面遷移によって、表示中の画面と異なる文脈の接客が表示される可能性があります。
「表示制御をする」を指定
接客表示前の画面遷移で、現在の画面と異なる文脈の接客表示を避けたい場合「表示制御をする」を指定します。
KARTE for Appの仕様上、イベントを送信してから接客を表示するまでの間に本来表示されるべき画面(画面A)から画面遷移(画面B)が発生した場合、該当の接客が遷移後の画面Bで表示されます。
本オプションを指定することで、上記の場合に画面Bでは受信した接客を表示しないように設定することができます。
なお、本オプションの設定にあたっては以下の点にご注意ください。
画面Bにviewイベントなどのイベントが発火しない、かつ画面の境界と認識されない場合(実装していない場合)には、本機能を設定しても画面Bに接客サービスが表示されます。
ネイティブ側のviewイベント発生を契機にページ遷移とみなし、遷移先画面での接客表示を抑制する機能となるため、WebView内のviewイベント(_sourceがnative_app_webview)では、この表示制御は効かないことにご注意ください。
本オプションにより接客表示前に接客がリセットされた時には
reason
フィールドにThe display is suppressed by native_app_display_limit_mode.
が設定された_message_suppressed
イベントが発生します。「表示制御をしない」同様、接客表示後に画面境界を認識した場合に表示中の接客がリセットされます。(この場合には
_message_suppressed
イベントは発生しません。)
接客編集画面で設定する
接客編集画面のオプションにてネイティブアプリにおける接客表示制御
という項目がありますので、この中から「表示制御をする」を指定します。
「表示制御をしない、かつ常に表示する」を指定
「表示制御をしない」や「表示制御をする」の指定では、画面遷移やviewイベント発生時に表示中の接客がリセットされます。
また、トリガーとするイベントによってはイベント送信後にviewイベントが発生してしまい、接客が表示されないことがあります。
これらの接客の表示前後の画面境界の認識で接客が表示されない状況を避け確実に接客を表示するために本オプションを指定できます。
また、画面を跨いで接客を常駐させたい場合にも本オプションは有効です。
※本オプションはSDK InAppMessaging v2.5.0以降でのみ有効です。
該当バージョン以前で利用しようとした場合は、「表示制御をしない」を指定した場合と同じ挙動になります。
※本オプションは同時配信がOKの場合のみ有効になります。NGの場合は正常に動作しないので必ず同時配信をOKにしてください
※本オプションが有効な場合、接客が表示されている限り、画面をまたぐ度にmessage_openイベントが発生します
接客編集画面で設定する
接客編集画面のオプションにてネイティブアプリにおける接客表示制御
という項目がありますので、この中から「表示制御をしない、かつ常に表示する」を指定します。
接客を非表示にする方法
「表示制御をしない、かつ常に表示する」を指定した場合、明示的に接客を非表示にしない限りは接客は非表示になりません。
接客を非表示にする方法は以下の二つがあります。
1.アクション側で非表示にする
接客のアクション側でhtmlのclassに karte-close
などを指定して接客を非表示にする仕組みを用意し、アプリ利用者の操作によって接客を非表示にする。
2.アプリ側で非表示にする
KARTE SDKを用いて、接客を非表示にする実装をすることで接客を非表示にする。
実装方法については以下を参考ください。