> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Android Application Observability

> GermainUX provides real-time monitoring and analytics for native Android applications through the GermainUX Mobile App library.

Components
[`Engine`](/main/germain-ux-engine)
[`Mobile App`](/main/germain-ux-mobile-app)
[`RUM JS`](/main/germain-ux-rum-js)

Availability
2022.1 or later

> **[Real User Monitoring](#real-user-monitoring)**
>
> Capture real user sessions

> **[Transaction Monitoring](#transaction-monitoring)**
>
> Measure important app operations

> **[Dashboards and Analysis](#dashboards-and-analysis)**
>
> Drill from KPIs to events

> **[Validation](#validation)**
>
> Confirm monitoring works after deploy

## Overview

GermainUX provides real-time monitoring and analytics for native Android applications through the GermainUX Mobile App library.

It helps teams understand:

* How users interact with the application
* Which screens and features are used
* Where business processes become slow or ineffective
* Which crashes and exceptions affect users
* How application launches and transactions perform
* Which devices, operating-system versions, and application releases are affected
* Whether device or system conditions contribute to an issue

The precise telemetry available depends on the Android version, application architecture, permissions, and GermainUX configuration.

## Real User Monitoring

GermainUX can capture Android user sessions and associate application activity with the corresponding user experience.

Available session information can include:

* Session start and end
* Session duration
* Application version
* Device and operating-system context
* Application foreground and background activity
* Screens and fragments visited

> **Show all 9**
>
> * User and application events
> * Transactions
> * Crashes and exceptions

Use an anonymous or pseudonymous identifier unless a user identity is required and approved for collection.

## Application Lifecycle Monitoring

GermainUX can monitor application lifecycle events such as:

* First launch
* Application startup
* Launch duration
* Application entering the foreground
* Application entering the background
* Application restart

> **Show all 9**
>
> * Application termination
> * Application removal from recent applications, when detectable
> * Low-memory events

These events help teams analyze startup performance, application stability, and the circumstances preceding a crash or interrupted session.

## Crash and Exception Monitoring

### Unhandled exceptions

GermainUX can capture unhandled exceptions that cause the Android application to crash.

Crash information can include:

* Exception type
* Error message
* Stack trace
* Timestamp
* Application version
* Device and Android version

> **Show all 9**
>
> * Active screen or fragment
> * Related user session
> * Events and transactions preceding the crash

This information helps identify which failures affect the most users and whether a crash was introduced by a specific application release.

### Handled exceptions

Applications can report handled exceptions to GermainUX through the Mobile App library.

Handled exceptions should be collected selectively. Report failures that have technical or business significance rather than every internally handled condition.

## Screen and Fragment Monitoring

GermainUX can monitor the lifecycle, usage, and performance of configured activities, screens, views, and fragments.

Analysis can include:

* Screen visits
* Screen duration
* Navigation paths
* Fragment activity
* Screen-loading transactions
* Errors associated with a screen
* Usage by application version or device type
* Entry and exit points

This helps identify frequently used features, ineffective navigation, slow screens, and areas where users abandon a process.

### Transaction Performance Comparison

When analyzing a slow or failed Android application transaction, use Comparison to compare its performance with another execution of the same transaction, such as the fastest, slowest, most recent, first seen, or last seen.

Comparison can reveal:

* Differences in execution time for the same Android operation
* Which steps, screens, or network requests caused the slowdown
* Performance differences between successful and failed Android transactions
* Errors or bottlenecks affecting application workflows
* Potential root causes of transaction performance degradation

This helps pinpoint why an Android transaction is slower or failing, identify the underlying bottlenecks, and accelerate resolution to improve application performance and user productivity.

More details on [**Transaction Performance Comparison**](/main/4-analysis-dashboard.md#comparison-of-bad-vs-good).

## Transaction Monitoring

Use transactions to measure important application operations, including:

* Application startup
* Authentication
* Data synchronization
* Search
* Form submission
* Record creation or update

> **Show all 11**
>
> * Network requests
> * Local database operations
> * File processing
> * Checkout or payment workflows
> * Custom application functions

Depending on the operation and application implementation, custom instrumentation may be required to define transaction boundaries and report success, failure, duration, and relevant context.

Transaction data can include:

* Start and completion time
* Duration
* Success or failure
* Error information
* Application and device context
* Related user session
* Custom business attributes

## Business-Process Monitoring

GermainUX can reconstruct business processes from configured screens, events, and transactions.

Examples include:

* Login
* Customer onboarding
* Account registration
* Product search
* Order creation
* Payment

> **Show all 10**
>
> * Form completion
> * Case management
> * Field-service activity
> * Custom employee workflows

For each process, GermainUX can analyze:

* Process volume
* Completion and failure rates
* Abandonment
* End-to-end duration
* Step duration
* Repeated steps

> **Show all 9**
>
> * Unexpected paths
> * Process overrun
> * Lost productivity

Business-process visibility depends on the events and transactions instrumented in the application.

## Application and System Events

The GermainUX Mobile App library can capture configured Android application and system events when permitted by the operating system and application permissions.

Examples include:

* Network connectivity changes
* Battery state changes
* Low-memory conditions
* Device restart
* Locale or time-zone changes
* Power connection changes
* Storage conditions
* Application installation, replacement, or removal events where available

Android versions restrict access to many system broadcasts and device details. GermainUX can collect only events delivered to the monitored application and permitted by Android.

Capture only the system events relevant to application behavior and support requirements.

## Device and Release Analysis

Android telemetry can be analyzed by dimensions such as:

* Application
* Environment
* Application version
* Android version
* Device manufacturer and model
* Screen or fragment

> **Show all 11**
>
> * Network state
> * User segment
> * Geographic region, when collected
> * Business process
> * Error or transaction

This helps determine whether an issue is limited to a particular application release, Android version, device model, workflow, or user group.

## Dashboards and Analysis

GermainUX dashboards can display:

* Active and unique users
* Session volume and duration
* Application launches
* Launch performance
* Screen and fragment usage
* Transaction volume and duration

> **Show all 12**
>
> * Crash and exception rates
> * Users and sessions affected by errors
> * Business-process completion and abandonment
> * Application-version adoption
> * Performance by device and Android version
> * Lost productivity

Teams can drill down from aggregated KPIs to individual errors, sessions, events, and transactions.

## Alerts and Reports

Configure alerts for conditions such as:

* Increased crash rate
* New unhandled exceptions
* Slow application launches
* Failed or slow transactions
* Increased business-process abandonment
* Application-version-specific regressions
* Repeated low-memory events
* Missing expected application activity

Scheduled reports can summarize:

* Users and sessions
* Application usage
* Performance trends
* Crashes and exceptions
* Affected application versions and devices
* Business-process performance
* Changes compared with the previous period

## Deployment

Android monitoring requires the GermainUX Mobile App library to be added to the application.

The deployment process includes:

**1. Add the GermainUX library to the Android project**

**2. Configure the GermainUX environment and application identity**

**3. Initialize monitoring during application startup**

**4. Enable the required automatic monitoring features**

**5. Instrument custom events and transactions**

**6. Configure crash and handled-exception reporting**

**7. Apply privacy and exclusion rules**

**8. Build and test the application**

**9. Confirm that telemetry reaches GermainUX**

**10. Release the monitored application through the approved deployment process**

Refer to the Android deployment and configuration pages for implementation details and compatibility requirements.

## Privacy and Security

Before production deployment:

* Do not collect passwords or authentication tokens.
* Exclude payment and sensitive personal information.
* Review custom event and transaction attributes.
* Use pseudonymous user identifiers where possible.
* Avoid capturing sensitive values from exception messages.
* Restrict access to user and diagnostic data.

> **Show all 9**
>
> * Define appropriate retention periods.
> * Document the monitoring performed by the application.
> * Follow applicable consent and regulatory requirements.

## Validation

After deploying the monitored application:

**1. Start the application and create a test session**

**2. Navigate through representative screens and fragments**

**3. Execute configured transactions**

**4. Send a controlled handled exception**

**5. Validate crash collection in a safe test environment**

**6. Confirm application, version, device, and environment attributes**

**7. Verify business-process reconstruction**

**8. Confirm that sensitive information is excluded**

**9. Test alerts and scheduled reports**

**10. Compare monitoring overhead with the organization’s performance requirements**

## Get Help

> **[Contact GermainUX Support](/main/support.md)**
>
> The Germain Team can help you set this up.

> **Can't find what you need?**
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.