Application Events
Possible System-Event Categories
Analyze Events
Troubleshooting
Configure Event Monitoring for an Android Application
Overview
The GermainUX Mobile App library can collect application lifecycle events and selected Android system events. Application events provide reliable context about the monitored application itself. System-event availability varies according to:- Android version
- Application state
- Declared and granted permissions
- Background-execution restrictions
- Device manufacturer
- Event-delivery rules imposed by Android
Application Events
After GermainUX initializes, it can automatically monitor supported application events such as:Application Launch Monitoring
GermainUX automatically starts application monitoring during initialization. To obtain meaningful launch measurements:Initialize GermainUX from the application’s Application subclass
Initialize it only once per process
Perform initialization early in the application lifecycle
Avoid unnecessary blocking work before or during initialization
Test cold, warm, and normal user launches
- Application version
- Android version
- Device manufacturer and model
- Network state
- User segment
- Release
- Environment
Foreground and Background Monitoring
GermainUX can record when the application transitions between foreground and background states. These events help measure:- Active application usage
- Foreground duration
- Background duration
- Session boundaries
- Interrupted business processes
- Application behavior before a crash or error
Low-Memory Events
GermainUX can capture memory-pressure callbacks delivered to the application by Android. These events can help investigate:- Slow application behavior
- Process termination
- Failed operations
- Excessive memory consumption
- Crashes associated with memory pressure
- Device-specific problems
Configure System-Event Monitoring
UsesetSystemEventsMonitoring() on GermainAPMConfiguration to enable or disable supported system-event monitoring.
Java
Kotlin
Possible System-Event Categories
Depending on Android and application permissions, GermainUX may receive events related to:- Network connectivity
- Wi-Fi state
- Power connection
- Battery state
- Power-saving mode
- Storage conditions
Show all 12
Show all 12
- Locale and time-zone changes
- Device configuration
- Media or external storage
- Application package changes
- Device startup
- Idle state
Application Exit and Uptime
Android does not provide a universal callback when an application is closed. The process can be terminated without allowing the application to execute final code. GermainUX can complete application-uptime monitoring in the following situations:- An unhandled exception is captured before the process terminates.
- The application explicitly reports its controlled exit.
- Another supported lifecycle end condition is observed.
Report an Application-Controlled Exit
If the application deliberately ends its own workflow or process, callcollectApplicationExit() before the termination logic.
Java
Kotlin
Removal from Recent Applications
Swiping an application from the recent-applications screen is not a reliable application-termination signal on modern Android versions. Behavior varies by:- Android release
- Device manufacturer
- Task and service configuration
- Background-execution policy
- Application state
Add Custom Business Events
System and lifecycle events describe application context. Add custom events or transactions for activities that have business meaning, such as:- Login completed
- Search performed
- Form submitted
- Record created
- Synchronization started or failed
- Order submitted
- Payment completed
- Workflow abandoned
Analyze Events
Use GermainUX dashboards to analyze events by:- Application
- Environment
- Application version
- Android version
- Device model
- User session
Show all 11
Show all 11
- Screen or fragment
- Business process
- Network or power state
- Error or crash
- Timestamp and trend
Alerts
Configure alerts only for events that require action, such as:- Repeated low-memory notifications
- Unexpected application restarts
- Increased launch failures
- Critical application event missing
- Business event failure
- System event correlated with widespread application failures
Privacy and Permissions
Before enabling system-event monitoring:- Review each requested Android permission.
- Collect only events needed for the monitoring objective.
- Avoid call, message, contact, and other sensitive device telemetry.
- Do not capture values containing personal information.
- Use anonymous or pseudonymous user identifiers.
- Review Google Play and organizational privacy requirements.
- Document monitoring behavior in the application’s privacy disclosures where required.
- Test data anonymization and exclusion rules.
Validation
Test event monitoring on supported Android versions and representative devices:Launch the application
Move it between foreground and background
Trigger an approved configuration change
Connect and disconnect the device from power
Change network state where safe
Simulate a low-memory callback in a test environment
Execute an application-controlled exit if the application supports one
Confirm that each event reaches GermainUX
Verify application, session, device, and version context
Confirm that restricted or unnecessary data is not collected
Troubleshooting
System events are missing
Verify that:- System-event monitoring is enabled.
- The installed GermainUX library supports the event.
- Android permits the event to be delivered.
- Required permissions are declared and granted.
- Background-execution restrictions do not prevent collection.
- The application remained active long enough to distribute telemetry.
- The device can reach the GermainUX ingestion endpoint.
Application uptime has no final value
The application process may have been terminated without a final callback. This is expected behavior on Android and cannot always be prevented. Use session, foreground, and background telemetry for usage analysis when no reliable application-exit event is available.Duplicate lifecycle events appear
Confirm that:- GermainUX initializes only once per process.
- Multiple application processes are not being combined incorrectly.
- Custom events do not duplicate automatic lifecycle events.
- The same event is not submitted by multiple libraries or application components.
An event works on one device but not another
Compare:- Android version
- Device manufacturer
- Application permissions
- Battery-optimization settings
- Background restrictions
- Application state
- Installed library version
Get Help
Contact GermainUX Support
Can't find what you need?
The content of this document is proprietary to GERMAIN SOFTWARE.

