— アプリ内メッセージの表示の仕組み

Specification

アプリ内メッセージの表示にはWebViewを利用しています。
このため管理画面上で、HTML / CSS / JavaScript をカスタマイズすることでアプリケーションのコードを変更することなく、アクションの見た目を変更することが可能となっています。

WebViewのライフサイクル

WebViewは、SDKが初期化されるタイミングで生成されメモリ上に保持されます。

アクションの表示が必要となった場合、SDKはWebViewを含むViewを生成し、アプリケーション上に WindowManager.addView メソッドを通じてWindowとして配置します。

WebView上のアクションが非表示になると、ViewはWindowManagerから削除され、WebViewは再びメモリ上で保持されます。

WebViewのキャッシュ

初期設定ではWebViewは、アクションを表示するためのViewとは別に生成され、メモリ上にキャッシュされます。

WebViewはアクションを表示するためのViewとともに生成されます。
WebView上のアクションが非表示になると、親Viewが破棄されるタイミングで同時に破棄されます。

Windowの表示レベル

SDKが生成する Window の type は TYPE_APPLICATION_ATTACHED_DIALOG としています。

🚧

アプリ内メッセージが表示されないとき

アプリ内メッセージを表示しているWindowの表示レベルよりも、上位に以下のような別のViewが表示されている場合、うまく表示されない場合があります。

  • Alert Dialog などの Dialog あるいは DialogFragment
  • 独自に追加しているWindow等

Updated 8 months ago

— アプリ内メッセージの表示の仕組み


Specification

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.