セッション・ライフサイクル¶
iOS/Android¶
Reproでは、アプリが起動してからバックグラウンドへ移行するまでを1セッションとして扱います。トラッキングされたイベントは、全ていずれかのセッションにひもづけられます。
セッションの期間¶
セッションの期間は、ユーザーの操作に依存します。期間の上限や下限はありません。
セッションの開始¶
セッションの開始方法には2つのパターンがあります。
アプリが初期状態で起動する場合¶
以下の場合、アプリケーションが初期状態で起動します。
- 電源が入った後、一度も起動されていない場合
- ユーザーがマルチタスク画面でアプリを明示的に停止した場合
- OSによって自動的に停止されてから起動した場合
この場合、セッションを開始するのは、 setup
を呼び出した後です。 setup
が呼ばれると、SDKはReproのサーバーと通信し、トラッキングなどに関する設定情報を取得します。設定でReproの機能が有効になっている場合に、セッションを開始します。
アプリが再開する場合¶
アプリがバックグラウンドに移行した後、OSによって停止させられる前に、マルチタスク画面から立ち上げられると、アプリが途中から始まります。
この場合、iOSの AppDelegate::applicationDidFinishLaunching:
およびAndroidの Application#onCreate
が呼ばれないため、setup
も呼ばれませんが、SDKはアプリの再開を自動的に検出し、新規にセッションを開始します。
セッションの終了¶
セッションが終了するのは、ホームボタンを押す、 通知センターから別のアプリを立ち上げるなどの操作によって、アプリケーションがバックグラウンドに移行した時です。
なお、ユーザーがコントロールセンターや通知センターを開いただけの場合、セッションは終了しません。