1. Top
  2. スタートガイド
  3. STEP1.ReproAppの仕組みを知ろう
  4. セッションライフサイクル
Repro App Repro App

セッションライフサイクル

定義

Reproでは、アプリが起動してからバックグラウンドへ移行するまでを1セッションとして扱います。トラッキングされたイベントは、全ていずれかのセッションにひもづけられます。

期間

セッションの期間はユーザーの操作に依存するため、期間の上限や下限はありません。

開始タイミング

セッションの開始タイミングは、アプリが初期状態で起動する場合とアプリを再開する場合の2パターンがあります。

1.アプリが初期状態で起動する場合

以下の場合は、初期状態での起動となります。

  1. 電源が入った後、一度も起動されていない場合
  2. ユーザーがマルチタスク画面でアプリを停止(タスクキル)した場合
  3. OSによって自動的にアプリが停止されてから起動した場合

1~3の方法で起動した場合、セッションはsetupを呼び出した後に開始されます。setupが呼ばれると、SDKはReproのサーバーと通信し、トラッキングに関する設定情報を取得します。設定でReproの機能が有効になっていれば、セッションを開始します。

2.アプリを再開する場合

アプリがバックグラウンドに移行した後、OSによって停止させられる前に、マルチタスク画面から立ち上げられると、アプリが途中から始まります。

この場合、iOSのAppDelegate::applicationDidFinishLaunching:およびAndroidのApplication#onCreateが呼ばれないため、setupも呼ばれません。しかし、SDKはアプリの再開を自動的に検出し、新規にセッションを開始します。

終了タイミング

セッションの終了タイミングは、ホームボタンを押す、通知センターから別のアプリを立ち上げるなどの操作によって、アプリケーションがバックグラウンドに移行した時です。

なお、ユーザーがコントロールセンターや通知センターを開いただけの場合、セッションは停止しません。この場合、ポーズ時間の制約もありません。

留意点

iOS SDK 3.0.1以下の場合は、アプリからSafariや他のアプリを起動してバックグラウンドに移行した場合も、すぐにセッションを終了せず、最大2分30秒の間、一時停止されます。