What is Google Mobile Services and how to obtain GMS Certification?
In the contest to become the world's leading mobile OS, it's universally agreed that Android OS is a serious competitor, having swiftly accumulated the lion's share of the mobile device market.
The main reasons for Android's consistent and reliable user experience, not only among users but also developers, are the open-source software stack, the object-oriented design based on the proven Java language, and the fast integration with Google's extensive services.
What is GMS? The abbreviation stands for Google Mobile Services and is mainly known for its apps/services developed by Google. Google Mobile Services (GMS) are basically a collection of Google applications and APIs installed at the system level. This essentially means that they are deeply integrated with the operating system. It helps support functionality across devices and ensures your device provides a seamless user experience across apps.
It is important to know, that GMS is not a part of the Android Open-Source Project (AOSP). GMS lives on top of AOSP and provides much of the nice-to-have functionality. The vast majority of Android devices aren’t, in fact, running pure and open-source Android. Manufacturers relying on Android need to get certified to obtain a license from Google in order to enable GMS on their Android devices.
This certification is required to launch all Google proprietary applications; otherwise, the device won't run any of them. In the consumer space, users expect the fundamental programs to work flawlessly straight out of the box (OOTB), without crashes/problems.
Manufacturers often cannot afford to lose any preinstalled apps/services that users project to be available straight out of the box, whether it is a consumer device or an enterprise device. GMS provides a range of preinstalled apps/services to help certified Android devices be more productive.
This certification is the process of ensuring that all Google proprietary apps/services function as expected on most Android smart devices, and that important data is pre-shared.
Google certification for GMS in general
GMS is a Google-powered suite of apps and APIs for secure collaboration, productivity and cooperation that enables a consistent user experience across all Android devices. In addition to Google apps, GMS also provides APIs for running other popular programs that are not part of the portfolio.
Google created and owns all the provided applications and services, which are built on top of the AOSP) to bring Google's spirit to the Android system. Google Play Store, Search, Gmail, YouTube, Google Drive, Hangouts, Google Maps, Calendar, and other popular applications are commonly included in the GMS package, while there may be regional variances depending on nation availability and licensing restrictions.
Furthermore, Firebase Cloud Messaging (FCM), SafetyNet APIs, location APIs and other GMS functions are included. OEMs must pay a fee per device to integrate GMS into the Android system. The amount end users have to pay depends on the requirements of each application/service, while all Google Mobile Services are usually free to the public.
Benefits of GMS
The benefits include, but are not limited to:
- Access to a wide range of useful apps
- Increased productivity through a large number of productivity apps
- Services that guarantee the smooth operation of other popular apps
- Supports a wide range of Android smart devices with the same functionality and consistency
- Ensures app stability and security through Google's recommendations
- Enables system over-the-air updates to deploy security patches and updates
GMS certification and license
The Mobile Application Distribution Agreement (MADA), commonly known as the GMS license, is the authorization from Google to use the GMS suite on your Android devices. The certification confirms that the device meets Google's performance requirements and can stage Google Apps correctly.
The license clarifies that you are authorized to use GMS. The certification ensures that your device is suitable and takes place before the license is issued. The licence is a non-exclusive, non-transferable licence with some basic restrictions. Here are a few examples:
- Your firm is not permitted to develop derivative works based on or derived from Google Applications.
- During the launch of a Google Application, you are not permitted to insert any adverts.
- Your license will be restricted to a certain territory.
- You are not permitted to fragment Android, and you will be required to sign an Anti Fragmentation Agreement.
Obtaining GMS certification
Certification for Android devices was previously only possible for manufacturers who had a valid MADA license (GMS license) from Google. Since Google does not provide smaller companies with a MADA license, it was impossible for them to obtain certification.
Later, Google selected several GMS partner companies that offer hardware for small businesses that want to produce GMS-certified devices to make it easy for brands without MADA to get GMS certification. GMS is only available for devices with the current stable or earlier OS version.
Following, we will go into the different steps that have to be taken into account for the GMS certification.
At this stage of the product development cycle, product design and conception are complete. Everything concerning the hardware and software of the product has already been decided. It is critical to think about GMS certification and budgeting for the process now to minimize any losses.
GMS Preliminary Review
This step compares the product's authoritative hardware, software, and mechanical requirements with Google's recommendations in the CDD to determine if the product meets Google's criteria. To avoid disputes later on, it is better to talk to a GMS specialist.
In most cases, software implementation begins once product requirements have been reviewed and all Google recommendations have been met. GMS pre-review and development can sometimes run in parallel.
You must pass a series of tests when the product is ready with Android ported to it. The series of tests ensure that the operating system and Google services are compatible, as well as device performance and security, and identify any incompatibilities. Independent testing is available from Google-approved labs. The manufacturer should contact a Google certified testing center for quality assurance.
The following are the required tests that the device must pass to ensure quality performance:
- Compatibility Test Suite (CTS) - runs over 300,000 unit test cases to identify incompatibilities. The CTS helps verify the hardware and software compatibility of the device. It includes tests such as signature tests, platform API tests, platform resources, platform permissions and so on.
- Compatibility Test Suite Verifier (CTS-V) - After the device passes the CTS, it undergoes the Compatibility Test Suite Verifier (CTS-V), which confirms Android compatibility. This is a manual testing tool to validate features and APIs that cannot be tested without human intervention. This tool manually tests the device's camera, sensors, touchscreen, audio, and other functions.
- Vendor Test Suite (VTS) - Examines the compatibility between the OEM device and the Android system, focusing on the lowest layers of the Android architecture. VTS is a collection of test cases to improve the speed and compatibility of the Android system. It uses automated or structured test sets to automate HAL and OS kernel tests. It promotes the use of a test-driven development approach.
- CTS Audio Quality Test Suite (CAT) - Helps verify the recording quality and audio playback capabilities of devices. CAT checks the audio quality of the device without the need for full-featured test equipment.
- GMS Test Suite (GTS) - Checks the compatibility of the device with Google's own apps. With some security-related checks, this automated test confirms that the GMS apps have been properly integrated and ensures the protection of user data.
- Security Test Suite (STS) - Checks for security flaws and ensures the security of the device. It ensures that devices are secure and that vulnerabilities have been properly fixed. It is updated regularly so that device manufacturers can fix any newly discovered security vulnerabilities in the system.
After devices pass all tests, they are sent to third-party logistics companies (3PLs) for certification. Google-approved laboratories, such as third-party logistics companies, are allowed to perform GMS certification on behalf of Google. The result of the third-party verification will be submitted to Google for approval of the GMS certification.
Approval & Product launch
The GMS certification is approved and the device information is stored at Google. The product is launched with all authorized GMS applications and services.
Obtaining a GMS license is time consuming, and there are a lot of things to keep in mind. The most important part deals with the requirements for obtaining GMS. It includes "rules" that are standardized with the goal of creating a good user experience for GMS licensed devices, such as a list of must-install apps and more.
It is difficult to get complete and accurate information about the GMS license. It comes with non-transparent device provisioning costs The reason is that Google has enough resources to negotiate with a limited number of partners about the GMS release, and there are simply too many "small" companies that want to sell Android products for Google to support them all.
Especially for OEMs providing Android-based embedded solutions, rather than smartphones, the whole licensing process is a great barrier. It creates a dependency on Google that is oft not even required.
Companies in the embedded sector are able to profit from using the Android Open-Source Project to their advantage without relying on GMS. We, at emteria, help you to find suitable solutions tailored to your use case. For instance, we enable you to deploy your own private app repository that replaces the Google Play Store. This way, you don't lose control over your data and can benefit from extensive capabilities that help you deploy your apps and devices easily. Get in touch!