admin管理员组

文章数量:1604894

目录

  • 一、Google Play上的过滤器工作方式
  • 二、根据应用清单文件进行过滤
      • 1、uses-feature
            • 1)android:name
            • 2)android:required
            • 3)android:glEsVersion
      • 2、uses-permission
      • 3、uses-library
            • 1)android:name
            • 2)android:required
      • 4、uses-sdk
      • 5、uses-configuration
      • 6、supports-screens
  • 三、高级清单文件过滤器
      • 1、compatible-screens
      • 2、supports-gl-texture
  • 四、其他过滤器
      • 1、发布状态
      • 2、定价状态
      • 3、确定目标国家
      • 4、CPU 架构 (ABI)
      • 5、有复制保护的应用
      • 6、其他

Google 文档连接:https://developer.android.google/google/play/filters?hl=en

一、Google Play上的过滤器工作方式

Google Play 使用下述过滤限制来确定是否向正在 Google Play 应用中浏览或搜索应用的用户显示您的应用。
在确定是否显示您的应用时,Google Play 会检查设备的硬件和软件要求及其运营商、地点和其他特性,然后将这些条件与应用的清单文件和发布详情中说明的限制和依赖条件比较。
如果根据过滤规则该应用与设备兼容,Google Play 会向用户显示该应用。否则,Google Play 会从搜索结果和类别浏览中隐藏您的应用,即使用户在 Google Play 内点击直接指向该应用 ID 的深层链接,明确请求该应用,该应用也不会显示。

二、根据应用清单文件进行过滤

大多数过滤器都由应用清单文件 AndroidManifest.xml 内的元素触发(但并非清单文件中的所有元素均可触发过滤)。

1、uses-feature

可以通过adb shell pm list features来查看系统所有支持的的features。
只有运行 API 级别 4 或更高版本系统的设备才能激活 元素。
Google Play 会利用应用清单中声明的 元素,从不符合应用硬件和软件功能要求的设备上过滤该应用。
uses-feature元素共有三个属性:

1)android:name

其中硬件特征的名字以android.hardware.为前缀,软件特征的名字以android.software.为前缀。这些属性值区分大小写。

2)android:required

表示应用是否需要 android:name 中所指定功能的布尔值。
当为某项功能声明 android:required=“true” 时,即是规定当设备不具有该指定功能时,应用无法正常工作,或设计为无法正常工作。
当为某项功能声明 android:required=“false” 时,则意味着如果设备具有该功能,应用会在必要时优先使用该功能,但应用设计为不使用该指定功能也可正常工作。
如果未予声明,则 android:required 的默认值为 “true”。

3)android:glEsVersion

此项属性表示app所依赖的OpenGL ES的版本,它的值是一个整数,高16位表示OpenGL ES的大版本,低16位表示OpenGL ES的小版本。例如 OpenGL ES 3.2版本对应的整数值为0x00030002。
通常在AndroidManifest中应该只有一个android:glEsVersion配置,如果配置了多个,则只有版本号最大的那一个会生效,其他配置会被忽略。如果在AndroidManifest中没有配置android:glEsVersion,则表示可以支持到OpenGL ES 1.0,也就是所有的Android系统都支持。

示例 1:
	清单文件包含 <uses-feature android:name="android.hardware.sensor.light" />,而用户在没有光线传感器的设备上搜索应用。 结果:Google Play 不会向用户显示该应用。
示例 2:
	清单文件不包含 <uses-feature> 元素。结果:Google Play 将向所有用户显示该应用,除非还有其他过滤器。

根据隐含功能进行过滤:在某些情况下,Google Play 将通过 uses-permission 元素请求的权限解释为与 元素所声明要求等效的功能要求。请参阅下面的 uses-permission。

2、uses-permission

严格来说,Google Play 不会根据 uses-permission 元素进行过滤。但是,它会读取这些元素来确定应用是否具有 uses-feature 元素中可能没有正确声明的硬件功能要求。
例如,如果应用请求 CAMERA 权限但没有针对 android.hardware.camera 声明 uses-feature 元素,则 Google Play 会认为该应用需要摄像头,并且不应向没有摄像头的设备用户显示。
通常,如果应用请求硬件相关权限,Google Play 会假定该应用需要基础的硬件功能,即使可能没有对应 uses-feature 声明也是如此。然后,Google Pla

本文标签: 规则GoogleplayStore