Google MADA/GMS certification

Google MADA Certification, also known as the Mobile Application Distribution Agreement, is a mobile application release protocol. Currently, there are many devices that have obtained Google MADA certification, and many manufacturers have this requirement. It is suitable for devices that use Android systems and wish to pre install various software from Google. The devices that apply for MADA certification must meet Google‘s CDD requirements, and the iterative Android version is updated every year, At present, the devices that apply for MADA certification are mainly mobile tablets.

Enterprise Compliance

Detailed interpretation of Google GMS certification, what is Google GMS certification, how to do GMS certification?

As we all know, Android is an operating system (OS) provided by Google under an open source license. It‘s focused on mobile devices like smartphones and tablets, but it‘s also appearing in other interfaces on TVs (Android TV), cars (Android Auto), and watches (Android Wear).

Android is the most widely used mobile operating system in the world, selling more electronics than any other operating system. The reason for its high popularity has to do with it being based on open source with a regular update calendar, regular OS optimizations, and development support.

Google is the current holder of the Android "brand," and it owns many of the apps and services that run on Android OS devices. These proprietary Google apps and services that make up its essence — such as YouTube, Gmail, Google Play Store, Google Maps, Google Photos, etc. — are called GMS, or Google Mobile Services.

Most Android OS users expect these basic GMS apps to be available out-of-the-box (OOTB) - pre-installed on the device - or via over-the-air download (OTA) - from the Play Store over Wi-Fi or mobile data - With smooth, flawless functionality. This expectation is an important consideration when planning and developing new Android-based devices.

Google places a number of requirements on device manufacturers (known as OEMs (Original Equipment Manufacturers)) who wish to sell mobile devices with GMS installed. To ensure these requirements are met, Google has a manufacturer licensing process and requires certification of products for sale.

Therefore, OEMs can sell devices with the Android operating system in two ways:

As mentioned earlier, Android is an open source operating system. Therefore, its commercialization is independent of GMS, which means that certification is not mandatory.

OEMs need to be certified by Google if they want to add to their devices any proprietary applications and/or services that constitute Google‘s essence.For OEMs wishing to sell Android OS-based devices with all of Google‘s applications, it is important to keep in mind that these devices must be submitted to various testing and compatibility processes devised by Google for certification.

GMS license and GMS certification

The GMS License, also known as MADA (Mobile Application Distribution Agreement), is a license granted by Google to OEMs to use a set of GMS applications and services on the devices they manufacture. This is a prerequisite for GMS certification - the manufacturer must have a GMS license or be associated with a licensed organisation. The GMS license is a non-transferable and non-exclusive license.GMS Certification is confirmation that a specific device meets Google‘s performance requirements, runs Google applications correctly, and is marketable with the GMS suite of applications and services. Simply put, a GMS license is for a brand or manufacturer, while certification is for a device.

Apply for a GMS license

To apply for a GMS license, you need to fill out the website application form. This request must be made before the release date of the product you wish to license, as it may take a long time for Google to respond.
Once all information has been submitted, Google will review the request, company and product. After the review is passed, Google will provide MADA, the GMS license.

Apply for GMS certification

The process of applying for and obtaining GMS certification has different steps to be completed that have a direct impact on the device being developed. It is important to consider the process of applying for certification when planning product development, as not estimating the time it will take to obtain certification can stop the production line and incur huge losses.
The different steps in the process of applying for and obtaining GMS certification are described in more detail below:

Initial cycle

Typically, product design begins at the conceptualization and/or proof-of-concept stages. It is at this initial stage that the hardware components of the product are defined, such as the type of LCD that will be used, the quality and number of cameras the device will have, the product design and the type of finish (whether it is hard plastic or metal), for example. This cycle can be repeated many times, through many refinements, until the desired quality is achieved, and then finalized.

After the hardware components of the device are approved, there are aspects to consider such as: which operating system will be used, production time issues, issues related to product marketing and testing (hardware and software).

Product characteristics, mechanical shape, GMS activity budget, etc. should be considered at the initial stage of the product life cycle to avoid surprises in the future.

GMS Preflight Cycle

This is a cycle directly related to the development of the software that will be used in the device.
In order to be GMS certified, a device must meet all the requirements mentioned in a document called a Compatibility Definition Document (CDD). This document lists the requirements that must be met in order for a device to be compatible with the latest version of Android. CDD stands for Android Compatibility "Policy".

The Android Open Source Project (or AOSP)—a website and repository that provides the information and source code needed to create new products that use Android as an operating system—is the reference and preferred implementation of Android. Developers are advised to base their implementations on "upstream" source code whenever possible.

The entire document consists of 13 sections, distributed among the following recommendations: device type, software, multimedia compatibility, security, and more. Based on these recommendations, developers can ensure that new products are compatible with the Android platform and therefore eligible for GMS certification.

Development cycle

GMS pre-check and development cycles go hand-in-hand, and many times they start in parallel. The development cycle focuses on the software implementation of the device. During this cycle, the source code for Android is downloaded through the Android Open Source Project and changes are made by the OEM as recommended in the CDD.

If desired by the OEM, these changes can vary widely, from the look of the UI (user interface) to the implementation of new features and the addition of new applications to the operating system.
After all the implementations are done, a binary is produced that will be used to "flash" the device that will be manufactured.

Bottom line: it‘s not enough to just download the binary and try to use it on any device, it won‘t work. Each binary is unique because within each binary there are drivers for specific model components. The operating system from the Android Open Source Project comes with Google‘s standard drivers and is available in its model, the Pixel. For others, it is necessary to board all drivers of the model.

Test period

Once the product is ready and the Android OS has been added, it‘s time to run a set of tests predefined by Google. Testing checks the device‘s security, performance, and compatibility with the Android operating system and Google Apps. The tests are based on Tradefed (Trade Federation), an Android continuous testing framework designed to run tests on devices using the Android operating system.
The purpose of this article is not to show all the tests that will be performed during the certification process, but to show some of them to understand what those tests are.

VTS – Vendor Test Suite

The Vendor Test Suite ( VTS ) consists of a set of frameworks and test cases designed to help improve the Android system (such as HALs and libraries) and low-level system software (such as kernel, modules, and firmware). To test for this, VTS has two main types of test sets: automated and structured.

Although VTS and its test cases are designed for debugging/engineering binaries (commonly called "eng"), some test cases can also be run on user binaries via VTs proxy application.

VTS is directly related to Project Treble, a Google project whose main concept is to separate vendor implementations (low-level device-specific software written mostly by manufacturers) from the Android OS framework. Therefore, VTS will test against the bottom layer of the Android architecture to check the compatibility of OEM devices with the Android system.

CTS – Compatibility Test Suite

CTS (Compatibility Test Suite) is a free commercial grade test suite available for download. It runs on the desktop and executes the test cases directly on the device connected to it.

Its test set is designed to be integrated into the daily workflow of engineers building devices (by continuously building the system). It is designed to reveal incompatibilities from the start and ensure that software remains compatible throughout the software development process.

CTS validator

CTS Verifier is an add-on to CTS and is also available for download. It provides testing of APIs (Application Programming Interfaces) and features that cannot be tested on a fixed device without manual input (such as audio quality, accelerometer, etc.).

Therefore, CTS Verifier is a manual testing tool for checking APIs and software components that cannot be automated. It runs on a device under test (DUT) and collects results. Scripts run on the desktop computer to provide additional data or control for certain test cases in the CTS Verifier application.

Beyond that, there are tests that OEMs can only get through Google because they won‘t be discovered or otherwise sold. 

GTS – GMS Test Suite

GTS is Google‘s proprietary automated testing suite. It verifies the compatibility of Google Apps with Android devices. Therefore, these tests check that the GMS application is correctly integrated and that other device configurations comply with the agreed contractual terms. Additionally, the GMS test suite performs various security-related tests to check that user data on the device is safe.

STS – Security Test Suite

In addition to testing to check compatibility and performance, Google also requires device security. Therefore, the security test suite is mandatory for GMS certification. STS (Security Test Suite) is a new set of CTS security tests.

To keep your device safe, it is important to always update your tests. To do this, bulletins listing possible security holes are opened monthly so that device makers can spot any bugs in the system.

Therefore, STS is updated monthly and helps OEMs to verify:
The device is not vulnerable;
Bugs are correctly fixed;
Security tests have been applied correctly.
Submission cycle
After all the results on the test set are approved, the device is ready. However, before submitting it directly to Google, it must be sent to a 3PL for review to ensure that the model adheres to all guidelines imposed by Google.

3PLs (Third-Party Logistics) is a laboratory authorized by Google, whether it is the OEM itself or a third party, it can provide GMS certification. They conduct independent testing of various functional and performance requirements on behalf of Google.

Therefore, 3PLs ensure that devices and OEMs comply with the CDD by performing a series of different test sets (the above test set and some others) to verify the product and verify its compatibility with GMS certification. After passing this review, the software is sent to Google for approval for a GMS certificate.

Approval cycle

Once a device is GMS certified, it registers with Google. This certification can be seen in the Play Protect certification item in the settings menu of the Google Play Store, as shown in the image below:
To keep your GMS certification valid, you must follow the rules in MADA and make sure to address possible bugs with the Android OS from OEMs or Google. For this purpose, software maintenance releases (or MRs) are usually provided. MRs in their updated versions must go through the same testing steps as submitted for GMS certification. For update cases focused on keeping the Android OS secure, SMRs (Security Maintenance Releases or Security MRs) perform modifications and testing to keep the OS as up-to-date and secure as possible. implement.

Product launch
Once a device is GMS certified, it will be approved by Google to publish all its applications and services on the market.

In conclusion,this article describes the process that Android device manufacturers follow when they want to include Google apps and services in their products. This is not a simple process, as its cycle may need to be repeated countless times.

Tests can take anywhere from 3 to 20 hours to execute, not including numerous iterations and attempts to reach the expected goal of 0 failure cases. Considering that a CTS test cycle can take about 1,166,202 tests, let alone GTS and STS tests, testing can take quite a while.

Google has adopted a stricter policy on non-certified devices, trying to disable GMS apps and services (such as Play Store, Maps, Gmail, YouTube, etc.) for all devices without GMS certification, and using all these services is illegal. On some non-certified devices, these applications may still work, but there is no guarantee that mobile applications compatible with these devices will continue to work. This may happen unexpectedly and without additional notice.

This certification will ensure some advantages of the device, such as:
Availability of OTA software updates;
Fully compatible with Google operating systems and applications;
Application stability;
The latest update of the application;
Proven security;
Access a wide range of Google apps on Google Play.

For any GMS testing, certification, or quotation requirements, please feel free to contact Mr. Yu at any time, yu@dlcer.com,WhatsApp&Phone:+86-13266518903, we welcome your contact.