The term GMS stands for Google Mobile Services, which refers to a selected array of Google proprietary applications and the services which pack the very essence of Google. The apps such as Chrome, Gmail, Youtube, Maps, PlayStore and many more are a part of GMS applications.
To run the Android devices with all the Google proprietary applications, one needs to have the device’s GMS certification. Without GMS certification, a device will not be able to run any of the Google proprietary applications. Apart from that, all the users expect these basic applications to be available out-of-the-box (OOTB) with smooth functionality, and with no crashes or failures.
Android is an open-source operating system by Google for mobile devices and initially introduced for smartphones and tablets but due to its popularity and user adoption, Android has now extended its support for other smart devices space like wearable, automotive and enterprise. The major reasons for its popularity are, it is open-source, the regular updates, periodic OS optimization, and development support from Google.
The Android Open Source Project (AOSP) corresponds to the Android OS. The AOSP only allows original equipment manufacturers (OEM) to use Android OS on the devices that they produced and this is independent of the GMS. You do not need a GMS license to run Android OS on your device, it is free; for example, Amazon is using Android for its Fire smartphone without any deal with Google.
The devices must follow several compatibility tests and processes designed by Google to get a certification for the Android device.
The GMS license, also known as MADA is the permit granted by Google to your brand to use its GMS suite of applications and services on the devices that you manufacture. GMS license is a nontransferable and nonexclusive permit.
The GMS Certification is the confirmation that a specific device meets Google’s performance requirements and properly runs Google Apps, which can be launched in the market with GMS suite of Apps and services.
Simply said, the GMS license is for your brand while the certification is for your device that you manufacture.
For GMS license, all you have to do is to fill up this contact form from Android’s website and apply for a license in advance as per your planned roll-out.
The form mentioned above asks for information that you need to provide to acquire a GMS license. You need to provide details such as device form factor (phone, wearable, TV, etc.), brand and company information, previous experience with android devices, number of devices expected to be built, countries and channel of selling the device, Android OS version of the device, etc.
After submitting all such information, Google will analyze your request, your company, and its products. If Google decides that application submitter OEM/Company/Distributor is qualified enough to be granted a GMS license, they will contact you further. It may take a long time before Google responds. Upon successful review by Google, it provides Mobile Application Distribution Agreement (MADA), which is a GMS license.
If you are an OEM and you want to launch your android device with the GMS suits of Apps and services in the market, then your device must follow the below-mentioned development cycle.
Normally product design starts with conceptualization and/or proof-of-concept phase. GMS and related activities must be considered during the initial phase of the project. GMS certification is not a feature that can be parked for a later phase of the product design. Product features, mechanical form factor, budget for GMS activities, etc. should be considered during the initial phase of the product lifecycle.
If the Android product is to be certified with GMS certification then the device must fulfill all the requirements mentioned in the document call CDD (Compatibility Definition Document). This document enumerates the requirements that must be met for devices to be compatible with the latest version of Android. To be considered compatible with Android, device implementations must meet the requirements presented in this compatibility definition, including any documents incorporated via reference. For each release of the Android platform, a detailed CDD will be provided. This document defines Android device requirements for various categories of devices such as handheld, television, automotive, watch, tablet, etc. More information can be found by following this link.
Product software, hardware, and mechanical requirements must adhere to the requirements, which are part of CDD. It is a good idea to get product hardware, software, and mechanical specifications reviewed by GMS certification experts to avoid any queries later on.
Once the device specifications meet all the requirements mentioned in the CDD and Google approves the mechanical and the device specifications, the device development cycle can be started.
Once the product is ready with Android ported on it, it is time to run pre-defined test suites provided by Google. The test suites checks security, performance, and compatibility of Android OS and the Google Apps.
The automated test suite follows the below-mentioned workflow.
Automated test suite tool is installed on the host PC and the device that is to be tested is connected to the host PC via ADB. The test suite tools run a set of test cases on the device and results are recorded. After completion of all the test cases, it generates the test reports. CTS example is shown below:
Where as in manual test suite, Android applications are installed and the testing of the device is done manually as directed by the application. CTS, GTS, VTS are automated test suites and CTS-V is a manual test suite. These tools are explained below.
The Compatibility Test Suite (CTS) evaluates the compatibility of Android OS with the hardware by running more than 300K unit test cases. Compatibility test cases cover different areas such as signature tests, platform API tests, Dalvik tests, platform data model, platform intents, platform permissions, platform resources, etc. Once the CTS tests are passed the manual Test tool Compatibility Test Suite Verifier (CTS-V) is used to verify it.
The Compatibility Test Suite Verifier (CTS-V) is a supplement to the CTS. The CTS verifier provides tests for APIs and functions that cannot be tested on a stationary device without manual input (e.g. camera, audio quality, accelerometer, etc).
The CTS verifier is a tool for manual testing and includes the following software components:
The Vendor Test Suite (VTS) automates HAL and OS kernel testing. The testing is done with the Generic System Image (GSI). A GSI is a system image with adjusted configurations for Android devices. It is considered a pure Android implementation with unmodified Android Open Source Project (AOSP) code that any Android device running Android 8.1 or higher can run successfully. GSIs are used for running VTS and CTS-on-GSI tests. The system image of an Android device is replaced with a GSI then tested with VTS test cases and CTS-on-GSI test cases. CTS-on-GSI tests are the subset of CTS tests.
GMS test suites is the Google proprietary test suites which tests the compatibility of Google Apps with the Android device. In addition to that, GMS test suites also perform various security related tests to verify that the user’s data on the device is secure or not.
Once all the test suites results are passed (0 failure) and the device is ready, it is submitted to 3PL for certification. Latest security patches must have been applied before submitting the device for certification.
3PL or Third Party Labs are Google authorized labs that provide GMS certification. They perform independent testing on behalf of Google, across a vast array of features and performance requirements.
3PL makes sure that the device and the OEM respect the CDD, perform a series of tests with different test suites (CTS, CTS-V, VTS, GTS), and validate the Android-based product and check the compatibility for GMS certification. 3PL certifies the device on successful compliance in all expected aspects in around 4 weeks of time.
Once the device gets GMS certification, the device fingerprint will be registered with Google and the same will be seen in the Google Play store setting menu underplay protect certification tab as shown in the below image.
Once the device get GMS certification, it is approved by Google for Market launch of the Android Product with all the Google apps and services.
eInfochips has been providing services to OEMs related GMS certification since a long time now. Once the customer obtains MADA from Google, eInfochips can help in providing support for GMS certification in the following ways:
Are you interested in obtaining GMS license for your planned Android device? Contact us.
Update: This article was updated by Ronak Patel