检测 PC 版 Google Play 游戏

2026-01-04 03:03:29

PC 版 Google Play 游戏要求您对游戏进行 PC 兼容性和优化更改。这些更改可确保您的游戏能在 PC 上运行,并且用户体验针对该平台进行了优化。

此外,PC 版 Google Play 游戏还对图形、设备输入和跨设备畅玩有要求。如需了解更多信息,请参阅入门指南。

在进行 PC 兼容性和优化更改(x86-64 支持除外)时,您可以设置您的游戏以检测 PC 版 Google Play 游戏,然后禁用或启用特定于平台的功能。这使您可以将相同的 APK 或应用 Bundle 用于您的 Android 移动版和 PC 版发布。

注意: 有关玩家在 PC 上运行 PC 版 Google Play 游戏的最低要求信息,请参阅 Google 帮助中心内的最低 PC 要求。

以下是本页面上的要求和建议摘要

包含 x86-64 ABI(必需)

在运行时检测 Google Play 游戏(推荐)

处理 onPause 事件(推荐)

更新 UI 元素(必需)

禁用 Android 应用权限对话框(必需)

禁用不支持的 Android 功能和权限(必需)

将 WebView 替换为浏览器意图(推荐)

禁用不支持的 Google Play 服务 API(必需)

启用分区存储(必需)

迁移到 Google Analytics(分析)4(推荐)

注意: 如果您的游戏正在使用 Unity,您可以查看此Google Play Games Unity Package,以自动化使用 Unity 进行 PC 版 Google Play 游戏开发的例程。

包含 x86-64 ABI 架构

发布流程要求

您的游戏包含的所有库都需要 x86-64 ABI 兼容版本,以确保在该平台上获得最佳性能和稳定性。

如果您的游戏在技术上无法发布 64 位 x86 可执行文件,您必须联系审核团队申请例外。您的游戏在获得例外后无法达到完整认证,但可以作为“可玩”游戏放入目录中。

库编译

为确保最佳的 x86-64 处理器兼容性,在编译库时不要使用 atom 指令集。例如,使用 gcc 时,请避免使用 -march=atom,而是使用 -march=x86-64。

Unity 中的目标架构

Unity 2019 和 2020 的某些版本在 Android 上缺少 x86-64 架构支持。请确保您使用的是 Unity 2019.4.31f1、2020.3.19f1 或更高版本。

如果您的游戏使用兼容的 Unity 游戏引擎版本,请执行以下操作以启用 x86-64 Android 目标:

转到 Player Settings > Other Settings > Configuration > Scripting Backend,然后从下拉菜单中选择 IL2CPP 以启用 IL2CPP 脚本后端。

为您的 Unity 版本启用 x86-64 Android 目标

Unity 2018 及更早版本:转到 Player Settings > Other Settings > Target Architecture,然后选中 x86 复选框。由于 Unity 2018 仅支持 x86 目标,您将无法构建 x86-64。此构建将需要审核团队的例外批准。请联系您的 Google 联系人以请求 x86 例外。

Unity 2019 长期支持 (LTS) 版本及更高版本:转到 Player Settings > Other Settings > Target Architectures 并启用 x86-64 (ChromeOS)。

检测 PC 版 Google Play 游戏

您可以在运行时检测 PC 版 Google Play 游戏平台,从而在游戏中启用或禁用特定于平台的功能。

检查系统功能 com.google.android.play.feature.HPE_EXPERIENCE 以确定您的游戏是否正在 PC 版 Google Play 游戏平台上运行

Kotlin

var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")

Java

PackageManager pm = getPackageManager();

boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

var currentActivity = unityPlayerClass.GetStatic("currentActivity");

var packageManager = currentActivity.Call("getPackageManager");

var isPC = packageManager.Call("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");

处理 Android 生命周期事件

在 PC 版 Google Play 游戏环境中处理 onPause(c++)事件非常重要。当玩家激活模拟器叠加层时,您的游戏是可见的,因此未能侦听 onPause 事件可能会导致糟糕的用户体验。

更新 UI

某些 UI 元素和手势不适用于 PC,应进行更新。

必需

替换需要两根或更多手指的 UI 操作(多点触控手势)。例如,您应该用相应的鼠标和键盘输入替换双指张合缩放和其他多点触控手势。有关设备输入更改的详细信息,请参阅输入支持。

推荐

所有用户可见的文本都应显示“点击”而不是“轻触”。

可滚动列表应具有滚动条。

用户可以平移的区域应具有滚动条或以其他方式快速遍历大距离。

不要在屏幕上显示可点击的键盘用于文本输入。

所有文本输入都应在文本字段边界内。

对可见元素的点击应

接受元素可见边界内的任何位置的点击。

不接受在可见元素区域外的点击。

对话框应具有可见的关闭按钮。不要检测对话框边界之外的点击。

禁用大多数权限对话框

除了麦克风和通知权限外,PC 版 Google Play 游戏不显示权限对话框,因此您不应尝试在运行时显示它们或请求权限。如果您之前显示过权限对话框,则应更新您的游戏,使其不再在 PC 上显示这些对话框。

不支持的 Android 功能和权限

发布流程要求

移动手机和平板电脑上的一些常见硬件功能在 PC 上不可用。这包括摄像头或玩家位置等硬件功能。任何需要缺少功能的游戏都无法在玩家的 PC 上下载和安装。对 PC 上任何缺少功能的请求都会自动失败。

您可以通过键入以下内容查看可用功能的完整列表:

adb shell pm list features

为了使您的游戏与 PC 兼容,需要进行以下更改:

请通过在 声明中添加 android:required="false" 将功能标记为可选。这仅适用于已在应用清单中声明的功能。

请勿尝试在运行时使用缺少的功能。如果您的移动版和 PC 版都使用相同的 APK,请在运行时检测 PC 环境并避免相关的代码路径。

请勿在运行时请求不支持的 Android 权限。如果您的移动版和 PC 版都使用相同的 APK,请在运行时检测 PC 环境并避免相关的代码路径。您无需更新您的清单。

有关应用清单兼容性的更多信息,请参阅 Chromebook 应用清单兼容性指南。

功能测试要求

在向 Google Play 管理中心提交第一个测试版本之前,移除以下硬件功能:

android.hardware.wifi

android.hardware.bluetooth

android.hardware.camera

android.hardware.location

出于兼容性原因,运行 pm list features 时,其中一些功能可能被列为支持,但并未完全实现。有关如何移除 android.hardware.wifi 功能的更多信息,请参阅监控连接状态和连接计量。有关不支持功能的完整列表,请参阅 Chromebook 应用清单兼容性指南。

质量测试要求

这些常用硬件功能与 PC 不兼容,因此您必须在向 Google Play 管理中心进行最终提交之前将其移除:

android.hardware.audio.pro

android.hardware.bluetooth

android.hardware.camera

android.hardware.consumerir

android.hardware.location

android.hardware.nfc

android.hardware.sensor.light

android.hardware.sensor.accelerometer

android.hardware.sensor.barometer

android.hardware.sensor.compass

android.hardware.sensor.gyroscope

android.hardware.sensor.proximity

android.hardware.telephony

android.hardware.touchscreen

android.hardware.usb.accessory

android.hardware.usb.host

android.hardware.wifi

android.software.midi

不支持的权限

以下常用权限在 PC 上不受支持,因此您的游戏必须为 PC 版 Google Play 游戏禁用它们:

android.permission.ACCESS_COARSE_LOCATION

android.permission.ACCESS_FINE_LOCATION

android.permission.ACCESS_WIFI_STATE

android.permission.BLUETOOTH

android.permission.CAMERA

android.permission.FOREGROUND_SERVICE

android.permission.GET_ACCOUNTS

android.permission.INSTALL_PACKAGES

android.permission.READ_CONTACTS

android.permission.READ_EXTERNAL_STORAGE

android.permission.READ_PHONE_STATE

android.permission.RECEIVE_BOOT_COMPLETED

android.permission.REQUEST_INSTALL_PACKAGES

android.permission.SYSTEM_ALERT_WINDOW

android.permission.USE_CREDENTIALS

android.permission.WRITE_EXTERNAL_STORAGE

android.permission.WRITE_SETTINGS

com.google.android.gms.permission.ACTIVITY_RECOGNITION

外部网站和 WebView

浏览器意图会在 PC 的原生网络浏览器中加载,而不是在 PC 版 Google Play 游戏环境中加载。在大多数情况下,这对玩家来说是理想的体验。

为了便于移植,PC 版 Google Play 游戏确实支持 WebView。由于这会在 PC 版 Google Play 游戏环境中打开,它将缺乏典型的桌面浏览器功能。如果您之前使用 WebView 来分享您的服务条款、隐私政策或其他类似内容,您应该改为调用浏览器意图。

禁用不支持的 Google Play 服务 API

发布流程要求

PC 版 Google Play 游戏附带其自己的 Google Play 服务变体,该变体仅包含 Google Play 服务 API 的子集。您需要确认您的应用不强烈依赖于在 PC 上省略或不支持的模块。请注意,某些模块可能可用,但其功能并非始终受支持。例如,当 PC 版 Google Play 游戏关闭时,Firebase Cloud Messaging 将无法运行。

支持的模块

这些模块目前在 PC 版 Google Play 游戏上可用并受支持,并计划提供额外的功能支持:

Google 登录(不包括帐号转移、SmartLock、短信验证、密码复杂性计算)

Cronet

Google Play 游戏服务

Tasks

Vision

Google Pay

有限支持

以下模块部分可用。我们将尽最大努力在 PC 版 Google Play 游戏上支持它们,但我们无法保证其功能。

Google Cloud Messaging(已弃用,请使用 Firebase Cloud Messaging)

Firebase Authentication(电话号码身份验证无法使用)

Firebase Cloud Messaging

Firebase Common Libraries

Firebase ML

Firebase Remote Config

Firebase Analytics

不支持

这些模块在 PC 版 Google Play 游戏上不受支持,但在它们失败时不会在 PC 版 Google Play 游戏上引起问题:

Google Analytics(分析)(已弃用,请使用 Firebase Analytics)

Google Cast

Awareness API

云端硬盘(已弃用,即将移除)

FIDO

Firebase Realtime Database

Firestore

Firebase A/B Testing

Google Fit

Address API

Instant Apps API

Location API

Google Maps SDK

Nearby

Panorama

Places

Google+

SafetyNet(已弃用,请填写意向表以选择加入即将推出的 Play Integrity API)

Google Tag Manager

Wear OS

损坏

发布流程要求

您不得在 PC 上使用这些模块,因为它们可能会导致 PC 版 Google Play 游戏出现意外行为。

Firebase Dynamic Links

启用分区存储

发布流程要求

本节适用于您的游戏读取或写入外部存储的情况。分区存储强制执行是读取和写入存储的替代方式。这样做消除了向玩家提示这些敏感权限的需要。

android.permission.READ_EXTERNAL_STORAGE

android.permission.WRITE_EXTERNAL_STORAGE

有关分区存储的更多信息,请参阅:

如何启用分区存储

处理非媒体文件的最佳实践

分析

旧版 Google Analytics(分析)产品在 PC 版 Google Play 游戏上无法运行。如果这适用于您的游戏,您应该将其迁移到Google Analytics(分析)4。

这只有在您当前使用Google Analytics(分析)360时才会影响您的游戏。如果您正在使用 Firebase SDK 来跟踪游戏中的分析事件,并且可以在 Google Analytics(分析)控制台中将您的游戏视为一个属性,那么您无需采取任何进一步的行动。

Copyright © 2022 世界杯奖杯_男足世界杯预选赛 - cbatop.com All Rights Reserved.