— Control the display of in-app messages

Usage

アプリ内メッセージを非表示にする

通常アプリ内メッセージの非表示はユーザーの操作によって行われることが一般的ですが、プログラムから非表示にすることも可能です。

プログラムから非表示にする場合は、InAppMessaging クラスの dismiss() メソッドを呼び出すことで非表示にすることが可能です。
また同クラスの isPresenting プロパティを呼び出すことで、アプリ内メッセージが表示中であるか確認することが可能です。

​ ​
if (InAppMessaging.isPresenting) { InAppMessaging.dismiss() }
if (InAppMessaging.isPresenting) { InAppMessaging.dismiss(); }

アプリ内メッセージの表示を抑制する

特定画面群では接客を表示したくないの場合、プログラムからアプリ内メッセージの表示を抑制することが可能です。

InAppMessaging クラスの suppress() メソッドを呼び出すことで表示抑制モードとなり、抑制が有効となります。

​ ​
InAppMessaging.suppress()
InAppMessaging.suppress();

また同クラスの unsuppress() メソッドを呼び出すことで表示抑制モードを解除できます。
※表示抑制モードの解除には、明示的にunsuppress()メソッドを呼ぶ必要があります。

​ ​
InAppMessaging.unsuppress()
InAppMessaging.unsuppress();

なお、表示抑制が有効な時に接客が配信され、表示が抑制された場合には _message_suppressed イベントが発生します。

※表示抑制モードの設定はメモリ上に保持されるため、アプリ起動中に限り設定が有効です。アプリがkillされた場合は、表示抑制モードが解除されます。

※表示抑制された場合に発生する_message_suppressedイベントは、reasonが"The display is suppressed by suppress mode."として記録されます。

アプリ内メッセージを表示する画面を限定する

特定画面のコンテキストに合わせたアプリ内メッセージを配信する場合に、ユーザーの操作などで特定画面外に遷移した後にアプリ内メッセージが表示されてしまう場合があります。
これを抑制するために、接客サービスのオプションとして、ネイティブアプリにおける接客表示制御から「表示制御をする」を用意しています。

Turn this option ON for customer service that you want to display only on a specific screen.

This function works only when SDK can recognize the screen border correctly.
The patterns for recognizing screen boundaries are as follows.

  • Send View event
  • Screen transition

📘

画面境界の認識について

画面境界の認識条件については、こちら をご覧ください。

アプリ内メッセージを常駐させる

通常の画面遷移またはviewイベント発生時に接客がリセットされます。トリガーとするイベントによってはイベント発生後にviewイベントが発生してしまい、接客が表示されないことがあります。それを避けるために接客サービスのオプションとして、ネイティブアプリにおける接客表示制御から「表示制御をしない、かつ常に表示する」を用意しています。
また、画面を跨いで常駐させたい場合にも本オプションは有効です。

オプションを有効にした接客を非表示にする方法は以下の通りです。

  • InAppMessaging.dismiss() または InAppMessaging.suppress() を呼び出し明示的に非表示にする
  • アプリ内メッセージ側で接客を非表示にする実装をする

📘

常駐接客の表示イベントについて

常駐接客表示中は画面遷移またはviewイベント発生時に、接客表示イベント(message_open)が発生します。


日本語
English
Translated by AI