Android SDKでフロースクリーンのビューを追跡する
ユーザーがフロー内のスクリーンを開くたびに、SDKはflow_screen_showedイベントをアプリに報告します。このイベントをAmplitude、Mixpanel、またはご利用中のプロダクトアナリティクスに転送することで、フロースクリーンをアプリの他のイベントと合わせて分析できます。
フローのどこまでユーザーが進んだかを確認するのにコードは不要です。フロー指標では、Adapty ダッシュボードでビュー数、完了数、画面ごとのドロップオフをすでに確認できます。同じデータを独自のアナリティクスで活用したい場合や、Adapty が把握していないイベントと組み合わせたい場合に、このガイドをご利用ください。
始める前に
以下が必要です:
- Adapty Android SDK v4以降:フローの分析コールバックは、それ以前のバージョンには存在しません。
- この機能がリリースされた後に公開されたフローバージョン:Adaptypはフローを公開するときにスクリーンイベントを生成するため、それ以前に公開したフローからはイベントが報告されません。イベントがアプリに届かない場合は、フローの新しいバージョンを公開して再度お試しください。
受信する内容
フローは、ユーザーがいずれかの画面を開くたびに flow_screen_showed を報告します。Adapty はこれらのイベントを独自のフロー分析でカウントするとともに、アプリにも配信します。これにより、自社の分析ツールで同じファネルを構築できます。
| パラメータ | 説明 |
|---|---|
instanceId | ユーザーが開いた画面の ID。 |
screen_order | フロー内での画面の位置。 |
is_last_screen | その画面に遷移先がない場合に true。分岐するフローは複数の異なる画面で終了する可能性があり、それぞれが true を報告します。 |
このイベントでは isBackendEvent と isCustomerEvent の両方が true です。Adapty はカウントを継続し、アプリにも配信されます。
スクリーンビューは、他のすべてのフローイベントと同じアナリティクスコールバックに到達します。登録方法については、フロー&ペイウォールイベントを処理するを参照してください。
すべての画面表示をアナリティクスに転送する
コールバックはフローから他のイベントも受け取るため、他の情報を読み取る前にまずイベント名で絞り込んでください。
override fun onAnalyticEvent(
name: String,
params: Map<String, Any?>,
context: Context,
) {
if (name != "flow_screen_showed") return
val screenId = params["instanceId"]
val screenOrder = params["screen_order"]
// Send screenId and screenOrder to your analytics provider here.
}
ユーザーがフローの最後に到達したときにコードを実行する
is_last_screen は、フローがそれ以上進めない画面で true になります。これを使って、コンテンツのアンロック、オンボーディング完了のマーク付け、または独自の完了イベントの送信を、ビルダーでボタンアクションを追加せずに行うことができます。
override fun onAnalyticEvent(
name: String,
params: Map<String, Any?>,
context: Context,
) {
if (name != "flow_screen_showed") return
if (params["is_last_screen"] != true) return
// The user reached the end of the flow.
}
フローの最後の画面に到達することは、フローが閉じられることとは異なります。ユーザーは最終画面を表示したまま、何もアクションを取らずにフローを閉じることができます。また、分岐のあるフローでは複数の異なる画面で終了することがあります。フロー自体が閉じられたことを知るには、代わりに onFlowClosed を使用してください。