Google Play 游戏常见问题解答

本主题为您解答有关针对 Google Play 游戏进行开发的常见问题。

问:是不是只要我不在 PC 版游戏中显示来自广告 SDK 的广告,就能在游戏中保留这类广告?

答:是的。如需了解详情,请参阅玩家体验指南。

问:上传 Google Play 游戏是否有大小限制?

答:如果游戏使用 app bundle 格式,则其大小上限为 150 MB(基本模块)+ 2 GB (Play Asset Delivery)。如需提高限制,请与您的 Google Play 联系人联系。

问:如果我们的游戏专为纵向模式而设计,因此无法适应横向宽高比,该怎么办?

答:如果您不采取任何措施,您的游戏界面两侧会出现黑边。我们建议您添加背景图片,以填充空白区域。请看以下示例:

Google I/O 大会用户体验的屏幕截图,其中显示了 Android 展台中的玩家头像。屏幕截图以横向宽高比显示,但游戏本身在中央绘制了一个纵向方形。此屏幕截图的背景是包含彩色圆圈的 Google I/O 大会品牌和 Google I/O 大会标签,可在一定程度上改善横向显示时的纵向体验。

问:如果 HPE 无法启动,该怎么办?

“Google HPE 错误”对话框的屏幕截图,其中提示“Unable to start Google HPE as initialization failed.”(初始化失败,无法启动 Google HPE。)

答:您可以尝试执行以下几个简单的调试步骤:

  1. 确保 Windows 已安装 2020 年 5 月或之后更新的补丁程序。
  2. 确保您没有移动 HPE,因为 HPE 必须位于“C:”驱动器中。
  3. 与您的 Google Play 联系人联系。此外,您应发送所有可用的日志文件,确保问题得到快速修复。

问:如何正确设置测试轨道?

答:请参阅 Android 开发指南。

问:我的游戏仅支持 x86 build,而不是 x86-64;我是否还符合 Play 的 64 位要求?

答:对于 Google Play 游戏,您可以提交 32 位 x86 可执行文件。

问:如何收集日志文件?

答:日志文件存储在 %LocalAppData%\Google\HPE_Dev 中,并以文件扩展名 .log 结尾。此路径通常会展开为 C:\Users\<username>\AppData\Local\Google\HPE_Dev,但可能会因系统而异。如果您想快速收集所有的日志文件,将其归档并发送给您的 Google Play 联系人,您可以使用以下 PowerShell 命令:

Compress-Archive -Path $env:LocalAppData\Google\HPE_Dev\*.log -DestinationPath
HpeLogs.zip

问:如果模拟器从 adb devices 中消失,该如何重新连接?

答:模拟器通过本地主机端口 6520 进行连接。您可以运行以下命令来重新连接:

adb connect localhost:6520

问:什么是软件包可见性过滤?为什么我需要添加 <queries> 标记?

软件包可见性适用于以 Android 11(API 级别 30)为目标平台的任何游戏或应用。在许多情况下,开发者的 Google Play 游戏 build 是他们第一次接触软件包可见性规则。对于新系统,开发者必须明确声明他们想要与之互动的软件包,除非它是一个自动可见的软件包。

问:如何解决“requires the Google Play Store, but it is missing”(找不到必需的 Google Play 商店)这一错误?或者,为什么当我从 Play 商店安装游戏时像结算之类的功能可以正常运行,但当我旁加载游戏时,这些功能却不能正常运行?

如果您的游戏不是从 Play 商店安装的,那么新的软件包可见性规则可能会阻止它访问 Play 服务。您可以通过在 AndroidManifest.xml 文件中向软件包 "com.android.vending" 添加查询来解决此问题:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

问:我是否需要为 Google Play 游戏实现窗口大小调整

不需要。

问:在 Google Play 游戏模拟器中,我是否可以在原始输入与触摸屏模拟之间切换鼠标模式?

答:要在模拟触摸屏模式和“原始”鼠标输入之间切换,您可以使用 HPE_Dev 任务栏图标上的上下文菜单:

Windows 11 任务栏的屏幕截图。胡萝卜图片会选中以显示隐藏图标,并且“HPE_Dev”图标(看起来像 Google Play 徽标的图标)周围会显示红色矩形

右键点击并选择“开发者选项”,然后在“鼠标输入模式”下选择您要模拟的输入模式。

显示在 HPE_Dev 任务栏图标上展开上下文菜单的屏幕截图。菜单选项“开发者选项”已展开,且“鼠标输入模式”标题下方的“触摸屏”已选中。

在玩家体验中,声明您的游戏使用 android.hardware.type.pc 功能时会自动切换,就像目前在 Chrome 操作系统中的表现一样。

<uses-feature
    android:name="android.hardware.type.pc"
    android:required="false" />

问:为什么在移动设备上 Play 游戏服务 v2 自动登录失败?

答:目前,Play 游戏服务 v2 登录在设备上正常运行有两个依赖项:GMS CorePlay 游戏应用

  1. GMS Core 版本必须高于 21.30.xx。如需检查版本,请使用以下命令:

      $ adb shell dumpsys package com.google.android.gms | grep -i -e "versionCode" -e "versionName"
      versionCode=213016046 minSdk=30 targetSdk=31
      versionName=21.30.16 (150400-391784508)
      versionCode=202117048 minSdk=30 targetSdk=30
      versionName=20.21.17 (150408-316502805)
    

    第一个 versionName 就是要检查的版本。GMS Core 更新应自动推送到 Android 设备上。如果还没有推送,请告知我们。

  2. Google Play 游戏应用版本必须为 2021.08.29094 及更高版本。您可以依次转到设置 > 应用,选择 “Play 游戏应用”,然后在详情页面的底部找到版本号,从而进行确认。

    请注意,您不再需要旁加载 Play 游戏应用来测试 Play 游戏服务 v2 - 现在用户设备上应该会安装必要的版本。

问:我能否在 Google Play 游戏中使用帧同步(或“为什么我的 Unity 游戏在启动时会崩溃”)?

答:Google Play 游戏支持帧同步库,但 Unity 游戏包含的版本目前会导致在启动时崩溃。如果您使用的是 Unity 游戏引擎,请找到“Optimize Frame Pacing”构建选项,并确保将其停用。

Unity 中“Project Settings”窗口的屏幕截图。在左侧导航面板中选择“Player”类别,然后在设置窗口中选择“Android”标签页,并展开“Resolution and Presentation”面板。会突出显示“Optimize Frame Pacing”,并且复选框未选中,表示此功能已关闭。

问:玩家是否可以从 Google Play 游戏上传本地存储的图片?

答:模拟器目前没有有意义的抽象化本地文件系统,无法选择或汇总存储在玩家计算机中的图片。如果您目前结合使用了 Intent.ACTION_PICKMediaStore.Images.Media,则暂时应在 Google Play 游戏 build 中移除此代码。

问:是否可以同时在模拟器中运行多个模拟器实例或运行多个游戏?

答:模拟器仅支持运行一个模拟器实例,并且一次仅支持运行一个游戏。模拟器也不支持运行同一游戏的多个实例。

问:是否可以针对 Google Play 游戏使用推送通知?

答:由于 Google Play 游戏使用模拟器,因此对推送通知的支持有限。