Google deeply integrates Google Mobile Services (GMS) into its proprietary version of Android, and makes OEMs (Original Equipment Manufacturers) do the same if they want a license to use the services. GMS is a package of proprietary apps and APIs developed by Google. Users have come to expect a certain look, feel, and functionality in consumer Android devices because of these GMS apps.
But companies need a GMS license (known as the Mobile Application Distribution Agreement, or MADA license) to include GMS in their Android versions. To obtain this license, manufacturers must undergo a rigorous GMS Android certification process.
Choosing between GMS vs. non-GMS implementation has a lot to do with the developed product's use case. Android GMS certification is a protracted, expensive process. When choosing between GMS vs. non-GMS for IoT (Internet of Things) devices such as point-of-sale devices or kiosks, choosing non-GMS often makes more sense.
Let's look at the GMS vs. non-GMS question in detail, considering the top three aspects of choosing GMS vs. non-GMS, specifically:
- The device's use case
- Costs and time to market
- The ability to install and update apps easily
What is Google Android GMS?
Google Mobile Services (GMS) is a suite of applications and Google-owned APIs that Google adds to the Android Open Source Project to give devices a distinctly Google feel and additional functionalities. Because Android GMS is used by all major consumer device manufacturers, users are more accustomed to GMS vs. non-GMS devices.
What is GMS vs. non-GMS?
GMS is nice-to-have, but not necessary in every Android device. A non-GMS Android device excludes Android GMS apps such as Google Maps, Google Chrome, YouTube, and other Google-specific apps. Many alternatives exist for these apps, and many GMS apps aren't required in an industrial, embedded Android device.
What is in favor of GMS vs. Non-GMS?
There are pros and cons to both GMS vs. non-GMS devices. Google Android GMS devices match what consumers have come to expect of Android, but they can be more costly because of GMS licensing and GMS certification costs. Non-GMS devices are usually preferred in an industrial or enterprise context.
It's more than a matter of costs
But it's also not just the costs. It's often impossible to get non-consumer devices licensed because the hardware is not compatible with Google's requirements. Android is highly UX-oriented, and Google sets high standards for displays, audio etc. These UX elements are important for consumers, but remain irrelevant in many enterprise cases, such as in HMIs (Human-Machine Interfaces).
Pros and cons of Google Android GMS vs. non-GMS
The GMS vs. non-GMS discussion is strongly swayed according to the device's purpose. Consumers have become so accustomed to GMS Android devices that they would feel confused if they purchased a phone without the familiar Google Apps and services.
But enforcing the certification and licensing process on the non-GMS devices targeted at enterprises makes little sense.
Pros of GMS Android Devices
The GMS Android pros are:
- Familiar user experience
- Access to Google Play Store
- Integration with Google services
- Larger app developer community support because app developers have become accustomed to using Google APIs instead of seeking alternatives
Familiar user experience
In the consumer space, users have come to expect an Android GMS feel to their devices. This includes Google-specific apps such as Gmail and the Google Play Store. In a consumer context, a non-GMS Android device might be a deal-breaker for many users.
Access to Google Play Store
In the GMS vs. non-GMS contest, the app store plays a key role. Fortunately, many app store alternatives exist, but these might be unfamiliar and considered unsafe to users in a consumer context.
Integration with Google services
There's a gap in API availability between GMS vs. non-GMS devices. A GMS Android device has access to all the Google APIs, including Google Maps and the services provided by the Firebase platform, like Google's Push Notification service.
Many other services can't be used without GMS, leading to additional development work, which is its own issue. So, companies should decide for themselves which option matches their particular use case.
Larger app developer community support
Many Android app developers will be familiar with the Google APIs and full suite of GMS apps and so be accustomed to referencing those in their apps. This isn't a deal-breaker, but it might be easier to find developers who can work with GMS services rather than alternatives.
Cons of GMS Android Devices
In an enterprise and industrial context, non-GMS Android devices make far more sense. These devices are typically used as kiosks, point-of-sale terminals, digital signage, and similar IoT devices. These devices don't need Gmail and YouTube, and those apps will simply bloat the device.
The top cons of GMS devices, especially in an enterprise context, are:
- Dependency on Google
- Licensing and certification costs
- Limited options for enterprise or industrial use cases
- Potential performance issues and device bloating
- Device hardware restrictions
Dependency on Google
Excessive dependence on Google can strongly tilt the scales in the GMS vs. non-GMS discussion. The dependency can result in limited device customization options, as well as privacy concerns because of user data always going through Google's servers.
Licensing and certification costs
The costs for GMS certification have been estimated to come to about $10,000 per device model, but there's no way to know for sure unless you go out and get quotes from third party testing companies. The costs for a GMS license are unknown, although one report put them at $40 per device. This raises the cost both for the manufacturer and the end-user.
Limited options for enterprise or industrial use cases
Enterprises will be forced to use the latest, or second-latest, Android version in their devices if they want an Android GMS device. They'll also need to adhere strictly to specific hardware specifications that Google requires for GMS to be included.
For example, Android 13 requires a minimum of 2 GB of memory and 16 GB of storage. This will raise the price per device considerably for enterprises depending on the hardware they are currently using.
Potential performance issues and device bloating
Many of the GMS apps aren't necessary in an industrial context, leading to app bloat on the device. The existence of these apps and services could also potentially compromise the embedded system security. For example, users might be able to easily add a Google user account to the device, opening the door to all manner of security risks if the device is open to the public.
The process com.google.android.gms has also been found to sometimes consume immense system resources and CPU power. This is the background process responsible for Google location services and other GMS-related functionality.
Another power-hungry process of GMS devices is the Android GMS Persistent process. This process, which runs under the name com.google.android.gms.persistent, runs constantly in the background, consuming CPU power.
Do I need Android GMS?
All consumer devices have undergone an Android GMS certification and so can have Android GMS apps installed on them. These apps make Android more familiar to end users but are not essential for Android to work. Google Play only uses GMS to function, but alternative app stores also exist.
Non-GMS Android app stores
One of the biggest concerns companies have when creating custom AOSP ROMs (Android Open-Source Project ROMs) is that a non-GMS Android device won't have the Google Play Store.
The Google Play Store is useful for maintaining app security and also for automatically updating apps on devices.
Fortunately, several third-party app stores exist that also offer auto-update functionality for apps. F-Droid is a completely open-source app store that can also host private repositories, an essential component for enterprise use cases.
For industrial devices, companies can also connect their non-GMS Android devices to emteria's Device Hub, which is a browser-based Mobile Device Management (MDM) platform.
Through emteria's Device Hub, fleet managers can remotely provide and update apps, in addition to providing other security features.
Alternatives to GMS certification Android
In Android vs. Android GMS situations, some features might be missing from non-GMS Android devices that GMS Android devices provide by default. These features include the ability to use Google's Firebase Cloud Messaging (FCM) platform, which lets you send push notifications to devices.
Several alternatives to FCM exist, such as UnifiedPush and Gotify.
The open-source MicroG project attempts to emulate GMS on the device, thereby allowing many GMS-dependent apps and processes to continue to run on the device.
You'll also need an alternative to Google Maps and the Google Maps APIs. Fortunately, several mapping API alternatives exist, and it's just a matter of searching for other APIs you need.
In our experience, the primary features that enterprises look for in GMS vs. non-GMS devices are...
🔍 an app store (or at least the ability to update apps automatically),
🔍 a push notification service, and
🔍 regular updates.
These features all exist out of the box with emteria.OS, which additionally offers full device control using the emteria Device Hub.
Emteria: A simple non-GMS solution
Emteria is a custom Android version made for enterprises. It comes pre-built with a notification service that runs in privacy-aware servers, completely independent of Google. Emteria uses F-Droid's app store, which allows companies to host private app repositories. F-Droid provides automatic app updates, but fleet managers can also control their apps using emteria's Device Hub.
Android GMS makes sense for consumers but makes little sense for specific embedded Android solutions. The added costs, time to market, and complexity of creating GMS-compliant devices act as major hindrances for businesses that create many unique devices regularly.
Emteria.OS works seamlessly on a wide variety of hardware configurations, allowing companies to build entire fleets using something as cost-effective as the Raspberry Pi 3b or the powerful Intel NUC, which runs Android x86.
Emteria is available for download for both personal and commercial use. To learn more about using it for your fleet of non-GMS devices, contact us for a no-obligation demo.
A complete guide from requirements to submission
Thinking about getting your Android devices certified with Google Mobile Services? Our guide covers all the steps from requirements to submission. Click to learn more.