Ionic App Lifecycle Events

Reteno can automatically track app lifecycle, foreground lifecycle, push subscription, and session events.

Tracked App Lifecycle Events

When appLifecycleEnabled is enabled:

  • ApplicationInstalled
  • ApplicationUpdated
  • ApplicationOpened
  • ApplicationBackgrounded

Tracked Foreground Lifecycle Events

When foregroundLifecycleEnabled is enabled:

  • ApplicationOpened
  • ApplicationBackgrounded

Tracked Push Subscription Events

When pushSubscriptionEnabled is enabled:

  • PushNotificationsSubscribed
  • PushNotificationsUnsubscribed

Tracked Session Events

When sessionStartEventsEnabled / sessionEndEventsEnabled are enabled:

  • SessionStarted
  • SessionEnded

Configure Lifecycle Tracking

During initialization:

await this.reteno.init({
  lifecycleTrackingOptions: {
    appLifecycleEnabled: true,
    foregroundLifecycleEnabled: false,
    pushSubscriptionEnabled: true,
    sessionStartEventsEnabled: true,
    sessionEndEventsEnabled: false,
  },
});

Shortcuts:

await this.reteno.init({ lifecycleTrackingOptions: 'ALL' });
await this.reteno.init({ lifecycleTrackingOptions: 'NONE' });

Runtime update:

await this.reteno.setLifecycleTrackingOptions({
  sessionStartEventsEnabled: true,
  sessionEndEventsEnabled: true,
});

iOS note: runtime method setLifecycleTrackingOptions(...) works only before init().
Use lifecycleTrackingOptions in init(...) as the main configuration path for iOS.

Legacy note: sessionEventsEnabled is still supported as an alias that toggles both session start and end events.

Screen Tracking in Ionic/Cordova

Use manual tracking:

await this.reteno.logScreenView('HomeScreen');