设备定位(Beta 版)

借助设备定位,您可以更精细地控制将 App Bundle 的哪些部分分发到特定设备。例如,您可以确保仅将大型资源分发给 RAM 较大的设备,也可以将资源的不同版本分发给不同的设备。

您可以定位设备属性,例如:

  • 设备型号
  • 设备 RAM
  • 系统功能
  • 系统芯片(适用于 API 级别至少为 31 的设备)

必要步骤概览

如需启用设备定位,必须执行以下步骤:

  1. 在设备定位配置文件中定义设备组。
  2. 指定软件包的哪些部分应分发到哪些设备组。
  3. 可选:在本地测试您的配置。
  4. 将您的 bundle(包含配置文件)上传到 Google Play。

Android Gradle 插件与 Play Unity 插件

具体所需步骤因您是使用 Android Gradle 插件还是 Play Unity 插件构建应用而异。在继续之前,请选择您的 build 设置:

设备组最多由 5 个设备选择器组成。如果设备满足设备组的任一设备选择器,则会纳入该设备组。

设备选择器可以有一个或多个设备属性。如果设备与选择器的所有设备属性匹配,则会被选择。

可用的设备属性

  • device_ram:设备 RAM 要求
    • min_bytes(含):要求的最低 RAM(字节)
    • max_bytes(不含):最高 RAM 要求(字节)
  • included_device_ids:此选择器中要包含的设备型号(每组最多 10,000 个 device_ids)。如果设备与列表中的任何 device_id 匹配,则满足此属性。
    • build_brand:设备制造商
    • build_device:设备型号代码
  • excluded_device_ids:此选择器中要排除的设备型号(每组最多 10,000 个 device_ids)。如果设备与列表中的任何 device_id 都不匹配,则满足此属性。
    • build_brand:设备制造商
    • build_device:设备型号代码
  • required_system_features:设备想要包含在此选择器中所需要具备的功能。(每组最多 100 项功能)。设备需要具备此列表中的所有系统功能才能满足此属性。

    系统功能参考

    • name:系统功能
  • forbidden_system_features:设备想要包含在此选择器中就不能具备的功能(每组最多 100 项功能)。如果设备具备此列表中的任何系统功能,则不满足此属性。

    系统功能参考

    • name:系统功能
  • system-on-chip:要包含在此选择器中的系统芯片。设备需要具备此列表中的任何条状标签才能满足此属性。只能以API 级别至少为 31 的设备为目标平台来开发 SoC 系统。

在单个选择器中包含多个属性会创建一个逻辑“与”条件,例如:

将创建如下条件:RAM 高于 7GB 并且是 Pixel 4 的所有设备。此条件也可写作如下方式:

如果您需要创建一个逻辑“或”条件,请在单个设备组中创建单独的选择器,例如:

将创建如下条件:RAM 高于 7GB 或者是 Pixel 4 的所有设备。此条件也可写作如下方式:

以下示例展示了所有可能的设备属性:

官方设备制造商和设备型号代码

您可以通过以下任一种方式,使用 Google Play 管理中心的设备目录查找设备制造商和型号代码的正确格式:

  • 使用设备目录检查各个设备,在下例中所示的位置找到制造商和型号代码(以 Google Pixel 4a 为例,制造商为“Google”,型号代码为“sunfish”):

    设备目录中的 Pixel 4a 页面

    设备目录中的 Pixel 4a 页面

  • 下载受支持的设备的 CSV 文件,build_brand 和 build_device 字段分别表示制造商和型号代码。

在 app bundle 中添加设备定位配置文件

Play Feature Delivery 设备定位

如需将设备定位与 Play Feature Delivery 搭配使用,请参阅条件分发文档

Play Asset Delivery 的设备定位

如需将设备定位与 Play Asset Delivery 搭配使用,请参阅资源包文档

报告错误

如有任何 bug,请在公开的问题跟踪器上报告。