An update on Google’s GMS requirements for Android devices

Coming out with a new Android device requires the Android product vendor to consider whether or not they need Google Mobile Services (‘GMS’) certification on their hardware.  Devices intended for standard consumer use generally require GMS since so many popular apps fall under the GMS umbrella.  This includes all the standard Google apps that are found pre-installed on nearly all Android devices found in consumer electronics retailers.  Apps in the GMS package include Google Play (Google’s official app download platform), YouTube, Maps, Drive, Gmail, Chrome, Google Photos, and Google Play Music.  GMS also includes APIs that other apps frequently use.  Without GMS other apps cannot access these APIs.  A popular example of a GMS API includes location services which uses Google’s geolocation databases to get location information based on cell phone tower and WiFi network triangulation.  Over the Air (‘OTA’) updates are another feature that GMS devices enjoy.  When new patches or updates are released for Android those updates get pushed to GMS certified devices.  Non-certified devices can use third party OTA services to push updates, but be sure to use a reliable vendor as some, such as China’s AdUps has been caught actively sneaking spyware and adware into unsuspecting devices via their OTA service.

Google has gotten more strict about enforcing GMS certification requirements in the past 2 years.  To prevent non-certified devices from entering retail shelves Google introduced an annoying pop up warning that displays on non-certified devices running GMS apps warning that the device is attempting to use GMS services without GMS certification.  This not only prevents usage of the GMS apps and APIs, but also looks bad for the brand selling the product.  The annoying pop-up started around March of 2018.  Before this many companies sold Android devices with GMS apps (that worked smoothly), but without GMS certification.  Since this pop up started appearing brands almost never distribute devices without certification anymore.

With the more strict rules in place Google also changed the process for getting certified, making it easier for brands to get certified.  Originally Google would sign the Mobile Application Distribution Agreement (‘MADA’) with brands directly.  Brands with a signed MADA could engage with a designated testing company to go through the certification process.  Smaller brands were generally not granted a MADA because Google doesn’t have enough resources to manage that many partners.  This meant that only brands with historical volume would get a MADA, leaving many smaller companies and startups without an easy solution to get GMS certification.  Now the structure has changed.  Instead of only having a MADA signed with brands Google has designated tens of engineering companies, mostly in China, and most of those in the Shenzen area, as GMS partners.  Most of the Android devices coming from China, both cell phones and tablets, come from one of these GMS partner engineering companies.  Now a smaller company just needs to get their hardware from one of these engineering companies to apply for GMS, rather than having to do it themselves.  This relieved one of the major bottlenecks for getting GMS approval that many companies faced previously.  Hatch can help clients with Android projects that require GMS certification.

Part of the premise behind GMS is for the greater good, the other part is a business play by Google to have more control over and access to user data.  For the good part passing GMS testing ensures the Android device meets minimum performance standards in order for end users to get a good user experience on any Android device, from whatever brand sells the hardware.  The standards included in the GMS certification are laid out in the Compatibility Test Suite (‘CTS’) testing software.  Even if a brand doesn’t need GMS using the CTS as a testing standard is a great way to test the performance of the Android device.  Another requirement for getting GMS certification is that the device must use the newest version of Android.  Companies need to take this into consideration at the beginning of product development because the cutoff date for approving a previous version may pass before a new product is ready for testing.  The company developing the Android device should be able to provide detailed information about timelines and Android updates.

One problem many companies have with GMS is that Google generally doesn’t give GMS to non-standard devices.  This means that Android devices used in exercise equipment, medical devices, or for a countless number of non-standard uses have a hard time (or no chance) getting their devices tested.  Google has laid out hardware requirements for what’s considered standard and non-standard.  One example of how companies worked within these limitations to get their non-standard product certified was with an Android WiFi router project.  Google requires that GMS devices have a screen to view content and interface with the device.  The router maker decided to put a 7” screen on their router to meet the requirements.  So while the primary function of the device made it a non-standard device by adding the screen it could meet the GMS requirements.  Another, slightly more intricate and devious, approach is to send a non-standard device in for testing using a standard case, even though the device will use a different case during production.  Note this is against the rules and may result in trouble for the manufacturer.  The reason this works is because GMS certified devices have a digital signature in the Android OS that gets read by Google’s servers when the device connects to the internet.  While using an alternative Android OS (which doesn’t get GMS approved) would result in the device losing the GMS status the Google server has no way to tell what casing the device uses.

The Android OS can run without GMS and there are alternatives to Google’s GMS software and APIs from third party developers, but they take special attention to integrate smoothly.  Amazon’s Fire device uses the Android operating system at its core, but has been redesigned to use Amazon’s app download platform and alternative apps.  Many third party apps use free location services based on WiFi and cell triangulation using GMS APIs which pull from Google’s proprietary databases of addresses for cell phone towers and WiFi networks globally.  Without GMS the third party apps won’t have access to the Google location service.  Luckily there are alternative databases from Apple and other third party companies that can replace Google’s databases.  MicroG is an open source project that offers several pieces of software meant to replace GMS software for products where the brand doesn’t want or can’t get GMS.  Hatch developed an IoT hub which uses Android hardware to connect to nearby sensor and camera devices via BLE.  The hub itself also provides location information using alternative geolocation databases for cell and WiFi triangulation as the hub has no screen (and no GMS).

Since many custom Android devices use only one or a few dedicated apps most custom Android devices don’t require GMS and still operate smoothly using alternative solution providers for location services and other key functionality.