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