Skip to main content
Skip table of contents

Android App Event Monitoring

System event monitoring

You can enable / disable system event monitoring by setting GermainAPMConfiguration.setSystemEventsMonitoring() accordingly. Currently you can either monitor all of them or none. Monitoring of the below events depends on the application's permissions (e.g. if an application doesn't allow to receive calls then Germain UX monitoring won't be able to collect events on incoming calls).

List of system events monitoring can collect:

  • Airplane Mode

  • Application Changed

  • Application Cleared

  • Application First Launch

  • Application Fully Removed

  • Application Installed

  • Application Removed

  • Application Replaced

  • Application Replaced

  • Application Restarted

  • Application Verified

  • Battery Low

  • Battery OK

  • Bluetooth ACL Connected

  • Bluetooth ACL Disconnected

  • Bluetooth Device Found

  • Bluetooth Device Name Changed

  • Bluetooth Device Picker Launched

  • Bluetooth Device Selected

  • Call Outgoing

  • Camera Button

  • Configuration Changed

  • Device Boot

  • Device Docked

  • Device Dreaming Started

  • Device Dreaming Stopped

  • Device Reboot

  • Device Shut Down

  • Device Sleep

  • Device Wake Up

  • GTalk Connected

  • GTalk Disconnected

  • Headset

  • Idle Mode Changed

  • Input Method Changed

  • Locale Changed

  • Media Bad Removal

  • Media Button

  • Media Ejected

  • Media External Present

  • Media Incompatible FS

  • Media Mounted

  • Media Removed

  • Media Shared

  • Media Unmountable

  • Media Unmounted

  • New Picture

  • New Video

  • Phone State

  • Power Connected

  • Power Disconnected

  • Power Save Mode Changed

  • SMS Received

  • SMS Rejected

  • Storage Low

  • Storage Low Package

  • Storage OK

  • Timezone Changed

  • User ID Removed

  • Voicemail Fetch

  • Voicemail New

  • Wallpaper Changed

  • WAP Received

  • Wi-Fi Changed

Application event monitoring

Germain UX collects automatically the following application events:

  • Application startup event

  • Application state event (in foreground; in background)

  • Application low memory event (memory moderate, memory critical, memory low, memory moderate)

  • Application launch duration transaction

Application closed event and Application uptime duration (total, in foreground, in background)

This monitoring gets initiated automatically by Germain UX but to collect the final data points an end event must be triggered.
We distinct the following application closure scenarios which will end this monitoring:

  • on application crash - automatic collection triggers if "Automatic crash detection for unhandled exceptions" is enabled

  • on application removal from recent application list event or calling finishAndRemoveTask() - automatic collection triggers if "Application removal from recent application list event" monitoring is configured and enabled

  • on application closure done programmatically(e.g. by killing its own process or by calling finishAffinity()) - explicit trigger is required by calling the following code:

Java:

JAVA
// ...
GermainAPM.collectApplicationExit(Boolean calledFromForeground); // calledFromForeground=true if this line is called from a foreground application otherwise set it to false
// your closure code

Kotlin:

JAVA
// ...
GermainAPM.collectApplicationExit(Boolean calledFromForeground) // calledFromForeground=true if this line is called from a foreground application otherwise set it to false
// your closure code

Application removal from recent application list event

This event gets collected when you swipe out monitored application from the recent application task list. Currently this monitoring is supported on SDK 25 or lower due to the limitations imposed by Android SDK26 and above.

This monitoring requires to configure the following service inside your application's AndroidManifest.xml

JAVA
<manifest>
   //....
   <application>
      //....
      <service 
              android:name="com.germainsoftware.apm.mobile.library.monitoring.RecentAppRemovalListener"
              android:exported="false"
              android:stopWithTask="false" 
      />
   </application>
</manifest>

Component: Mobile App

Feature Availability: 8.6.0 or later

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.