How Filters work on Google Play

Source: Internet
Author: User
Tags configuration settings

Introduction

Google Play uses the filter restrictions described below to determine whether to show your application to a user who's is BR Owsing or searching for applications from the Google Play app.

When determining whether to display your app, Google Play checks the device's hardware and software requirement, as well a S it ' s carrier, location, and other characteristics. It then compares those against the restrictions and dependencies expressed by the application ' s manifest file and Publishi ng details.

If the application is compatible with the device according to the filter rules, Google Play displays the application to th E user. Otherwise, Google Play hides your application from search results and category browsing, even if a user specifically Reque STS the app by clicking a deep link, points directly to the app ' s ID within Google Play.

Filtering based on the App Manifest

Most filters is triggered by elements within a application ' s manifest file, Androidmanifest.xml (although not everything In the manifest file can trigger filtering). Table 1 lists the manifest elements that is should use to trigger filtering, and explains what the filtering for each elem ENT works.

Table 1. Manifest elements that trigger filtering on Google Play.

Manifest Element Filter Name How It Works
<supports-screens> Screen Size

An application indicates the screens sizes that it's capable of supporting by setting attributes of the <supports-screens> element. When the application was published, Google Play uses those attributes to determine whether to show the application to users , based on the screen sizes of their devices.

As a general rule, Google Play assumes this platform on the device can adapt smaller layouts to larger screens, but CA Nnot adapt larger layouts to smaller screens. Thus, if an application declares support for "normal" screens size only, Google Play makes the application available to bot H Normal-and large-screen devices, but filters the application so it's not available to small-screen devices.

If An application does isn't declare attributes <supports-screens> for, Google Play uses the default values for those attributes, which V ary by API level. Specifically:

    • For Applications This set either the android:minsdkversion or android:targetsdkversion to 3 or lower, the <supports-screens> element itself was undefined and no attributes are available . In this case, Google Play assumes the application are designed for normal-size screens and shows the application to de Vices that has normal or larger screens.

    • when the either the android:minsdkversion or android:targetsdkversion was set to 4 or Highe R, the default for all attributes is "true" . In this-the-application is considered-to-support all screens sizes by default.

Example 1
The manifest declares and <uses-sdk android:minSdkVersion="3"> does not include a <supports-screens> element. Result: Google Play won't show the app to a user's a small-screen device, but would show it to users of normal and Large-screen devices, unless other filters apply.

Example 2
the manifest declares and <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"> does not include a <supports-screens> element. Result: Google Play would show the app to users on all devices, unless other filters apply.

Example 3
the manifest declares and <uses-sdk android:minSdkVersion="4"> does not include a <supports-screens> element. Result: Google Play would show the app to all users, unless other filters apply.

For more information on what to declare support for screens sizes in your application, see and <supports-screens> supporting multiple SCR Eens.

<uses-configuration> Device Configuration:
Keyboard, navigation, touch screen

An application can request certain hardware features, and Google Play would show the app only on devices that has the requ Ired hardware.

Example 1
The manifest includes <uses-configuration android:reqFiveWayNav="true" /> , and a user is searching for apps on a device this does not has a five-way navigational Control. Result: Google Play won't show the app to the user.

Example 2
The manifest does not include a <uses-configuration> element. Result: Google Play would show the app to all users, unless other filters apply.

For more details, see <uses-configuration> .

<uses-feature> Device Features

An application can require certain device features to bepresent on the device. This functionality is introduced in Android 2.0 (APILevel 5).

Example 1
The manifest includes <uses-featureandroid:name="android.hardware.sensor.light" /> , and a useris searching for apps on a device which does not has a light sensor. Result: Google Play won't show the app to the user.

Example 2
The manifest does not include a <uses-feature> element. Result: Google Play show the app to all users,unless and other filters apply.

For complete information, see <uses-feature> .

Filtering based on implied features: In some cases, GooglePlay interprets permissions requested through elements as <uses-permission> feature requirements Equivalentto thos E declared in <uses-feature> elements. See <uses-permission> , below.

Opengl-es Version

An application can require this device support a specific opengl-es version using the <uses-feature android:openGlEsVersion="int"> attribute.

Example 1
an app requests multiple opengl-es versions by specifying multiple times in the openGlEsVersion manifest. Result: Google Play assumes that app requires the highest of the indicated versions.

Example 2
An app requests Opengl-es version 1.1, and a user was searching for apps on a device that supports Opengl-es version 2.0. Result: Google Play show the app to the user, unless other filters apply. If a device reports that it supports Opengl-es version X, Google Play assumes that it also supports any version E Arlier than X.

Example 3
A user is searching-for-apps on a device this does not a opengl-es version (for example, a device running Android 1.5 or earlier). Result: Google Play assumes that this device supports only Opengl-es 1.0. Google Play would only show the user apps that does not specify openGlEsVersion , or apps that does not specify an opengl-es version Highe R than 1.0.

Example 4
The manifest does not specify openGlEsVersion . Result: Google Play would show the app to all users, unless other filters apply.

For more details, see <uses-feature> .

<uses-library> Software Libraries

An application can require specific GKFX libraries to being present on the device.

Example 1
an app requires com.google.android.maps the library, and a user was searching for apps on a device that does not has the com.google.android.maps library. Result: Google Play won't show the app to the user.

Example 2
The manifest does not include a <uses-library> element. Result: Google Play would show the app to all users, unless other filters apply.

For more details, see <uses-library> .

<uses-permission> Strictly, Google Play does not filter based on<uses-permission>Elements. However, it does read theelements to determine whether the application had hardware feature Requirementsthat been properly declared in<uses-feature>Elements. For example, if an application requests theCAMERAPermission but does not declare a<uses-feature>Element forandroid.hardware.camera, Google Play considers that theapplication requires a camera and should not being shown to users whose devices donot offer a Camera.

In general, if a application requests hardware-related Permissions,google Play assumes that the application requires the Underlying hardwarefeatures, even though there might is no corresponding to <uses-feature> declarations. Google Play then sets upfiltering based in the features implied by the <uses-feature> declarations.

For a list of permissions this imply hardware features, seethe documentation for the <uses-feature> element.

<uses-sdk> Minimum Framework Version ( minSdkVersion )

An application can require a minimum API level.

Example 1
The manifest includes <uses-sdk android:minSdkVersion="3"> , and the app uses APIs that were introduced on API level 3. A user is searching for apps on a device with API level 2. Result: Google Play won't show the app to the user.

Example 2
The manifest does not include minSdkVersion , and the app uses APIs that were introduced in API level 3. A user is searching for apps on a device with API level 2. Result: Google Play assumes that's "1" and that the app are compatible with all minSdkVersion versions of Android. Google Play shows the app to the user and allows the user to download the app. The app crashes at runtime.

Because want to avoid the second scenario, we recommend that's always declare a minSdkVersion . For details, see android:minSdkVersion .

Maximum Framework Version ( maxSdkVersion )

Deprecated. Android 2.1 and later do not check or enforce maxSdkVersion the attribute, and the SDK would not compile if are set in an maxSdkVersion app ' S manifest. For devices already compiled maxSdkVersion with, Google Play would respect it and use it for filtering.

Declaring is not maxSdkVersion recommended. For details, see android:maxSdkVersion .

Advanced Manifest Filters

In addition to the manifest elements in table 1, Google Play can also filter applications based on the advanced manifest E Lements in table 2.

These manifest elements and the filtering they trigger is for exceptional use-cases only. These is designed for certain types of high-performance games and similar applications the require strict controls on AP Plication distribution. Most applications should never use these filters.

Table 2. Advanced manifest elements for Google Play filtering.

Filter Name How It Works

<compatible-screens>

 

Google Play Filters the application If the device screen size and density does not match any of the screen configurations (declared by a <screen>< /code> element) in the <compatible-screens> element.

Caution: Normally, you should not use this manifest element . Using This element can dramatically reduce the potential user base for your application, by excluding all combinations of Screen size and density. You should instead with the <supports-screens> manifest Element (described above in table 1) to enable S Creen compatibility mode for screens configurations you has not accounted for with alternative resources.

<supports-gl-texture> Google Play Filters the application unless one or more of the GL texture compression formats supported by the application is also supported by the device.

Other Filters

Google Play uses other application characteristics to determine whether to show or hide an application for a particular US Er on a given device, as described in the table below.

Table 3. Application and publishing characteristics that affect filtering on Google Play.

Filter Name How It Works
Publishing Status

Only published applications would appear in searches and browsing within Google Play.

Even if an app are unpublished, it can be installed if users can see it in their Downloads area among their purchased, Inst Alled, or recently uninstalled apps.

If an application have been suspended, users won't be able to reinstall or update it, even if it appears in their Downlo Ads.

Priced Status Not all users can see paid apps. To show paid apps, a device must has a SIM card and be running Android 1.1 or later, and it must BES in a country (as Dete Rmined by SIM Carrier) in which paid apps is available.
Country targeting When you upload your apps to Google Play, you can select the countries in which to distribute your apps under Pricing an D Distribution. The app is then being available to users on only the countries you select.
CPU Architecture (ABI) An application, includes native libraries, target a specific CPU architecture (ARM EABI V7 or x86, for example) AR e visible only on devices, that support, that architecture. For details on the NDK and using native libraries, see what is the Android NDK?
copy-protected applications Google Play no longer supports the Copy Protection feature in the Developer Console and no longer filters apps based on it . To the secure your app, please use Application Licensing instead. See replacement for Copy Protection for more information.

Filtering in Google Play are based on several types of app metadata and configuration settings, including manifest Declarat Ions, required libraries,architecture dependencies, and distribution controls set in the Google Play Developer console, Su Ch as geographic targeting, pricing, and more.

Google Play filtering is based in part on manifest declarations and other aspects of the Android framework, but actual fil Tering behaviors is distinct from the framework and is not bound to specific API levels.

How Filters work on Google Play

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.