— 画面の境界を認識する条件

Specification

KARTE SDKでは画面の境界を認識することで、アプリ内メッセージの表示制御を行う機能があります。
本ドキュメントでは画面の境界を認識する条件について記載します。

画面の境界を認識する条件

画面が切り替わったと判定する条件として2つあります。

  • Activity の onResume() が呼ばれた時
  • Viewイベントの発火時(KARTEのサーバーにイベントが到達したかは問わない)

🚧

ブリッジSDK利用時の注意点

FlutterやReact Nativeなどを対象としたブリッジSDKをご利用中の場合。
画面遷移により画面境界を認識するかどうかはフレームワークやライブラリ等に依存します。
確実に画面境界を認識するために全ての画面でviewイベントを実装することを推奨します。

🚧

Viewイベントを送信しても画面境界として認識されないパターンについて

WebView内に組み込んでいる計測タグからViewイベントを送信した場合は、画面境界として認識されません。
画面境界として認識されるのは、あくまでもネイティブSDKでViewイベントを送信した場合に限ります。

画面境界の認識をViewイベントに限定する方法

SDKは一定の条件を画面の境界として自動認識します。

アプリの実装によっては画面境界の認識とviewイベントの送信タイミングが意図しない順序になる場合もあり、そのような場合には表示制御を利用しても意図したIAMの動作を実現出来ない場合があります。

このような場合にはInAppMessagingConfigオプションを無効化することで、画面境界の認識をviewイベントのみに限定できます。(≒viewイベント以外の意図しない画面境界の認識を抑制できます)

InAppMessagingConfigの無効化は、SDKの初期化時にisAutoScreenBoundaryEnabledのflagをfalseにして渡すことで無効化できます。

val iamConfig = InAppMessagingConfig.Builder()
  .build()

val cfg = Config.Builder()
  .appKey(APP_KEY)
  .libraryConfigs(iamConfig)
  .isAutoScreenBoundaryEnabled(false)
  .build()

KarteApp.setup(this, cfg)
InAppMessagingConfig iamConfig = new InAppMessagingConfig.Builder()
  .build();

Config cfg = new Config.Builder()
  .appKey(APP_KEY)
  .libraryConfigs(iamConfig)
  .isAutoScreenBoundaryEnabled(false)
  .build();

KarteApp.setup(this, cfg);