Google Play:将现有游戏转换为免安装游戏

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Google Developers网络

小提示:您能找到这篇{Google Play:将现有游戏转换为免安装游戏}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Google Play:将现有游戏转换为免安装游戏内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">用于设置支持Google Play免安装体验的应用的步骤(如创建您的第一个免安装应用中所述)也适用于游戏。本指南着重介绍专用于游戏的一些设置步骤。

< ">您可以使用Unity(无论是否带有Google Play Instant Unity插件)、Cocos2D、Android Studio或自己的自定义引擎,开发支持Google Play免安装体验的游戏。

< ">本指南假定您已了解自己想要提供的游戏体验。如果您想了解制作高品质游戏的理念和最佳做法,请参阅支持Google Play免安装体验的游戏的用户体验最佳做法。

< ">此外,在发布支持Google Play免安装体验的游戏前,您还应查阅技术要求核对清单。

< ">指定入口点

< ">包含以下intent过滤器的Activity将作为Google Play免安装体验的入口点:

< "><activity android:name=".GameActivity">

< "><intent-filter>

< ">&l网站建设报价表t;action android:name="android.intent.action.MAIN"/>

< "><category android:name="android.intent.category.LAUNCHER"/>

< "></intent-filter>

< "></activity>

< ">当用户点按Play商店中的立即体验或Google Play游戏应用中的立刻开玩按钮时,系统便会启动该Activity。您也可使用深层链接API直接启动该Activity。

< ">注意:您可以将此入口点Activity与其他几个Activity一起打包在一个模块中,用以提供游戏的免安装体验。

< ">定义正确的版本号

< ">游戏的免安装体验版的版本号必须低于游戏的可安装版本的版本号。通过这种方式对应用进行版本控制,有助于让玩家从Google Play免安装体验过渡到在自己的设备上下载并安装游戏。Android框架将这一过渡视为应用更新。

< ">注意:如果玩家在自己的设备上安装了游戏,则当用户通过Google Play或某个链接启动免安装体验时,将始终运行该安装版,而非免安装体验版。即使所安装的游戏版本低于免安装体验的版本,也是如此。

< ">为确保遵循建议的版本控制方案,请遵循以下某种策略:

< ">从头开始重新设置Google Play免安装体验的版本号。

< ">将安装式APK的版本号提高一个较大的数值(如1000),以确保有足够的空间来提高免安装体验的版本号。

< ">您可以在两个单独的Android Studio项目中开发您的免安装游戏和可安装游戏。但是,如果您这样做,则必须执行以下操作才能将游戏发布到Google Play平台上:

< ">在两个Android Studio项目中使用相同的软件包名称。

< ">在Google Play管理中心将两个变体上传到同一应用。

< ">注意:版本号不是面向用户的值,主要由系统使用。面向用户的版本名称没有限制。

< ">如需详细了解游戏版本设置,请参阅控制应用版本。



< ">支持执行环境

< ">与其他应用一样,支持Google Play免安装体验的游戏也在设备上的受限沙盒内运行。为了支持此执行环境,请完成以下各部分中所示的步骤。

< ">选择停用明文流量

< ">支持Google Play免安装体验的游戏不支持HTTP流量。如果游戏以Android 9(API级别28)或更高版本为目标平台,Android会默认停用游戏中的明文支持。

< ">而如果游戏以Android 8.1(API级别27)或更低版本为目标平台,则必须创建一个网络安全配置文件。在此文件中,应将cleartextTrafficPermitted设为false,如以下代码段所示:

< ">res/xml/network_security_config.xml

< "><?xml version="1.0"encoding="utf-8"?>

< "><network-security-config&gt;

< "><domain-config cleartextTrafficPermitted="false">

< "><domain includeSubdomains="true"&gt;secure.example.com&lt;/domain>

< "></domain-config>

< "></network-security-config>

< ">更新目标沙盒版本

< ">更新免安装游戏的AndroidManifest.xml文件,使其以Google Play免安装体验支持的沙盒环境为目标平台。您可以通过将android:targetSandboxVersion属性添加到游戏的<manifest&gt;元素来完成此更新,如以下代码段所示:

< "><manifest

< ">xmlns:android="http://schemas.android.com/apk/res/android"

< ">...

< ">android:targetSandboxVersion="2"...>

< ">如需了解详情,请参阅targetSandboxVersion属性文档。

< ">不要依赖于缓存或应用数据的存在

< ">已下载的免安装体验仍会保留在用户的设备上,直到免安装体验缓存被清除。系统会在出现以下情况时执行清除操作:

< ">由于设备的可用内存不足,系统会对免安装体验缓存进行垃圾回收。

< ">用户重启设备。

< ">如果出现上述任一情况,用户必须重新下载免安装体验才能与之互动。

< ">如果系统运行所用的存储空间很少,可能会将免安装体验的用户数据从内部存储空间中移除。因此,建议您定期将用户数据与游戏服务器进行同步,以便保留用户的进度。

< ">缩减APK的大小

< ">与其他类型的应用不同,支持Google Play免安装体验的游戏具有15MB的下载大小限制。为了创建此大小的游戏,您可能需要重构游戏的逻辑。本部分将介绍一些可以帮助您优化游戏大小的工具和技巧。

< ">工具

< ">下面的工具可以帮助您确定哪些内容构成了游戏的大小:

< ">APK分析器:提供关于已编译的APK所含内容的完整视图。通过该视图,您可以了解各个元素在总体大小中所占的字节数。此工具可以快速检查游戏所用的资源、素材资源、逻辑和原生库的大小。

< ">Bloaty McBloatface:显示二进制文件的大小配置文件。

< ">Android GPU检查器:在不重新编译游戏的情况下,查看缩减纹理大小对文件大小的影响。

< ">技巧

< ">下面列出的技巧可以帮助您缩减游戏的大小:

< ">提取游戏的部分逻辑并将其放入一个或多个功能模块中,这些模块不会计入大小限制。

< ">降低游戏纹理的分辨率。

< ">考虑使用WebP格式,特别是在GPU上使用未压缩的纹理时。以WebP格式创建的图像的质量与JPEG图像的质量相同,但大小会缩减15%到30%。虽然解压缩WebP图像需要花费更长的时间,但此时间仍然比下载游戏纹理所需的时间要短得多。Google也将此格式整合到了开源游戏引擎中。

< ">压缩或重复使用声音和音乐。

< ">使用不同的编译标记来帮助缩小二进制文件:

< ">-fvisibility=hidden是最重要的一个。在cmake中,您可以按照如下方式来指定它:

< ">$set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)

< ">-Oz对缩减大小也很重要。如果使用gcc进行编译,请改用-Os。

< ">-flto有时可以缩减文件大小。

< ">连接器标记:将--gc-sections和编译器标记(如-ffunction-sections和-fdata-sections)搭配使用。

< ">使用Proguard压缩代码和资源。

< ">使用Gradle 4.4或更高版本生成更小的DEX文件。

< ">实现资源的云端分发。

< ">将大型游戏分割为多个APK

< ">即使采用了缩减APK大小的建议,也可能很难通过优化Google Play免安装体验来使游戏容纳到单个15MB的APK中。为克服这一困难,您可以将游戏分割为多个APK。玩家可以先下载主要的基础APK,然后在他们玩游戏的过程中,游戏可以从后台调用其他拆分APK。

< ">例如,基础APK可以包含核心游戏引擎以及显示加载屏幕所需的资源。基础APK启动后,它会显示加载屏幕,并立即请求包含游戏和关卡数据的其他拆分APK。在这个拆分APK可用后,它可以将其资源加载到游戏引擎中,并向玩家提供开始游戏所需的内容。

< ">采用用户体验最佳做法

< ">将游戏配置为支持免安装体验后,您可以添加以下各部分中介绍的逻辑以提供良好的用户体验。

< ">检查游戏是否在运行免安装体验

< ">如果游戏的部分逻辑依赖于用户是否参与了免安装体验,请调用isInstantApp()方法。如果当前正在运行的进程是免安装体验,此方法会返回true。

< ">通过执行南京危机公关公司此检查,您可以确定应用是需要在有限的执行环境中运行,还是可以利用平台功能。

< ">显示安装提示

< ">如果您构建了Google Play免安装试玩体验,游戏应在某个时刻提示玩家在其设备上安装完整版游戏。为此,请使用Google APIs for Android中的showInstallPrompt()方法。

< ">如需进一步了解应如何以及何时提示玩家安装游戏,请参阅支持Google Play免安装体验的游戏的用户体验最佳做法。

< ">将数据转移到安装式体验

< ">如果玩家喜欢您的试玩体验,他们可能会决定安装完整版游戏。为了提供良好的用户体验,请务必将玩家的游戏进度从免安装体验转移到完整版游戏上。



< ">如果玩家使用的设备搭载的是Android 8.0(API级别26)或更高版本,并且您的游戏将targetSandboxVersion指定为2,则玩家的游戏进度会自动转移到完整版游戏上。否则,您必须手动转移与玩家游戏进度相关的数据。为此,请使用以下某个API:

< ">对于使用搭载Android 8.0(API级别26)或更高版本的设备的用户,请使用Cookie API-应用示例

< ">如果玩家可以在搭载Android 7.1(API级别25)及更低版本的设备上与您的体验互动,请添加对Storage API的支持-应用示例

Google Play:将现有游戏转换为免安装游戏

上一篇:Google Play 免安装体验概览
下一篇:如何快速查看shopee所有账号表现?


版权声明:以上主题为“Google Play:将现有游戏转换为免安装游戏"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    Google Play:将现有游戏转换为免安装游戏
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Google Play:将现有游戏转换为免安装游戏”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Google Play:将现有游戏转换为免安装游戏的相关事宜。

关键词:Google,Play:将现有游戏转换

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号