com.amazonaws.mobileconnectors.amazonmobileanalytics
Interface SessionClient


public interface SessionClient

SessionClient is the entry point into the Amazon Mobile Analytics SDK where sessions can be paused or resumed. A session is created and started immediately after instantiating the MobileAnalyticsManager object. The session remains active until it is paused. When in a paused state, the session time will not accumulate. When resuming a session, if enough time has elapsed from when the session is paused to when it's resumed, the session is ended and a new session is created and started. Otherwise, the paused session is resumed and the session time continues to accumulate. Currently this delta is 5 seconds.

For example, when MobileAnalyticsManager is first instantiated, it creates Session 1. As the user transitions from activity to activity, the old activity will pause the current session, and the new activity will immediately resume the current session. In this case, Session 1 remains active and accumulates session time. The user continues to use the App for a total of 3 minutes, at which point, the user receives a phone call. When transitioning to the phone call, the current activity will pause the session and then transition to the phone app. In this case Session 1 remains paused while the phone call is in progress and session time does not accumulate. After completing the phone call a few minutes later, the user returns to the App and the activity will resume Session 1. Since enough time has elapsed since resuming Session 1, Session 1 will be ended with a play time of 3 minutes. Session 2 will then be immediately created and started.

In order for MobileAnalyticsManager to track sessions, you must call the pauseSession() and resumeSession() methods in each activity of your Android app. Alternatively, if you have a base activity that all other activities inherit from, these calls only need to be made from the base activity.

Session Example

The example below demonstrates how to pause and resume a session within each Activity. Example:
 public void onPause() {
     super.onPause();
  
     //Notify MobileAnalyticsManager that a session pause happened in this Android activity.
     //Be sure to include this in every activity's onPause.
     this.mobileAnalyticsManager.getSessionClient().pauseSession();
 }
  
 public void onResume() {
     super.onResume();
     //Notify MobileAnalyticsManager that a session resume happened in this Android activity.
     //Be sure to include this in every activity's onResume.
     this.mobileAnalyticsManager.getSessionClient().resumeSession();
 }
 


Method Summary
 void pauseSession()
          Pauses the current session.
 void resumeSession()
          Resumes the current session.
 

Method Detail

pauseSession

void pauseSession()
Pauses the current session.


resumeSession

void resumeSession()
Resumes the current session.



Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.