AeroGear Mobile Services Terminology

Mobile Service

A mobile service accelerates your mobile app development by providing solutions for common mobile development use cases such as Push notifications. Mobile services are hosted on OpenShift and you use the OpenShift console to provision and associate services with your mobile apps. For more information, see Mobile Services.

Mobile App

A Mobile App is the representation of a mobile app in an OpenShift project. This allows you connect and disconnect an app with any mobile service in the same OpenShift project. For more information, see Registering a mobile app.

mobile app

A mobile app is your code for Android, iOS, Cordova or Xamarin that uses Mobile Services.


You can associate a Mobile Service with a mobile app to allow your mobile app use the mobile service.

Mobile Services configuration file

The mobile-services.json file provides the information your mobile app needs to use Mobile Services.


Your server-side code, typically Node.js or Java.

Data Sync terminology

This section describes terminology that is associated with Data Sync.

Data Sync terms

A query language for your API, and a server-side runtime for executing queries that use a type system. For more information, see GraphQL.


Apollo is an implementation of GraphQL designed for the needs of product engineering teams building modern, data-driven applications. Apollo includes two open-source libraries, Apollo Server and Apollo Client. The Data Sync Framework leverages Apollo functionality.

Sync Server

The Sync Server is a framework for building Node.js based GraphQL API.

Sync Client

The Sync Client is a JavaScript client offering client side extensions and server side integration. The Sync Client can be integrated into frameworks such as React and Angular.

Data sources

Data Sync framework is typically used in conjunction with a data source for data persistence however, an app built using the Data Sync framework works without a data source.

Data Sync framework

Data Sync is a JavaScript framework that enables a developer to add the capability to synchronize data in real-time for both mobile and web clients.

Identity Management Service terminology

This section describes terminology that is associated with Identity Management.

Identity Management Terminology

Single Sign On, the ability to share a login between multiple services

OpenID Connect

A standard for providing identity on top of OAuth 2.0


Red Hat’s implementation of SSO and OpenID used as the identity provider

Client ID

Is the client identifier for OpenID Connect requests, a simple alpha-numeric string

User Attributes

Additional properties for user accounts (besides name and email) managed by Keycloak

Push Notifications Terminology

This section describes terminology that is associated with Push Notifications.

Push Application

A logical construct that represents an Mobile App, for example, Mobile HR.

Push Notification Message

A simple message to be sent to a Push Application.

Sender Endpoint API

A RESTful API that receives Push Notification Message requests for a PushApplication or some of its different Variants. The Server translates this request into the platform specific details and delivers the payload to the 3rd party cloud providers, which eventually might deliver the message to the physical device.


A variant of the Push Application, representing a specific mobile platform, like iOS or Android, or even more fine-grained differentiation like iPad or iPhone. There can be multiple variants for a single Push Application (for example, Mobile HR Android, Mobile HR iPad, Mobile HR iOS free or _Mobile HR iOS premium). Each supported variant type contains some platform specific properties, such as a Google API key (Android) or passphrase and certificate (Apple).


Apple Push Notification service.


Represents an actual device, registered with the UnifiedPush Server. User1 running HR Android app, while User2 runs HR iPhone premium on his phone.

Administrative User Interface

(AUI) The Unified Push Admin UI Web UI that allows you manage Push Applications and Variants, view statistics and send Push Notifications to devices.

Mobile CI/CD Terminology

This section describes terminology that is associated with Mobile CI/CD.


Continuous Integration / Continuous Delivery


A tool that helps to automate the software build process.


A single run of Jenkins against a source code repository.


The result of a succesful build in Jenkins, this is the binary that can be installed on to a mobile device.


This is a file contained in the source code repository which instructs Jenkins on how to build an artifact with this source code.

Device Checks Terminology

This section describes terminology that is associated with Device Checks.

Root Access Detection (ROOT_ENABLED)

Use it to help prevent your app running in a device that has been rooted/jailbroken. A device is considered rooted if any of the following are true:

  • A custom key has been used to sign the kernel

  • The su binaries are present

  • Android

  • iOS

  • Cordova

  • Xamarin


This function uses the Rootbeer library to check if root access is present on the device.

This check is not available for iOS.

This check is not available for Cordova.

This check is not available for Xamarin.

Developer Mode Detection (DEVELOPER_MODE_ENABLED)

To detect if Developer Mode has been enabled on the device the DeviceCheckType#DEVELOPER_MODE_ENABLED function can be used. This function uses Android’s Settings class.

Debugger Detection (DEBUGGER_ENABLED)

To detect if an Android debugger is attached to the app the DeviceCheckType#DEBUGGER_ENABLED function can be used. This function uses Android’s Debug class.

Emulator Detection (IS_EMULATOR)

To detect if the app is being run on an emulator the DeviceCheckType#IS_EMULATOR function can be used. This function uses Android’s Build class.

Device Lock Detection (SCREEN_LOCK_ENABLED)

To detect if a device has a lock screen set (with pin, fingerprint, pattern) the DeviceCheckType#SCREEN_LOCK_ENABLED function can be used. This function uses Android’s KeyguardManager class.

App Data Backup Detection (BACKUP_ENABLED)

To detect whether the application’s data is configured to be synchronized across devices the DeviceCheckType#BACKUP_ENABLED function can be used. The allowBackup flag determines whether to allow the application to participate in the backup and restore infrastructure, which might be interesting to avoid depending on your app’s needs.

Device Encryption Detection (ENCRYPTION_ENABLED)

To detect whether the devices' filesystem is encrypted the DeviceCheckType#ENCRYPTION_ENABLED function can be used. This function uses Android’s DevicePolicyManager class.