Automatically track sessions
Analytics Auto Tracking helps you to automatically track user behaviors like sessions start/stop, page view change and web events like clicking or mouseover.
Session Tracking
You can track the session both in a web app or a React Native app by using Analytics. A web session can be defined in different ways. To keep it simple we define a web session as being active when the page is not hidden and inactive when the page is hidden. A session in a React Native app is active when the app is in the foreground and inactive when the app is in the background.
For example:
Analytics.autoTrack('session', { // REQUIRED, turn on/off the auto tracking enable: true, // OPTIONAL, the attributes of the event, you can either pass an object or a function // which allows you to define dynamic attributes attributes: { attr: 'attr' }, // when using function // attributes: () => { // const attr = somewhere(); // return { // myAttr: attr // } // }, // OPTIONAL, the service provider, by default is the Amazon Pinpoint provider: 'AWSPinpoint'});
When the page is loaded, the Analytics module will send an event to the Amazon Pinpoint Service.
{ eventType: '_session_start', attributes: { attr: 'attr' }}
To keep backward compatibility, the auto tracking of the session is enabled by default. You can turn it off by:
Analytics.configure({ // OPTIONAL - Allow recording session events. Default is true. autoSessionRecord: false});
or
Analytics.autoTrack('session', { enable: false});
// Note: this must be called before Amplify.configure() or Analytics.configure() to cancel the session_start event