GooglePlay 平台是很多开发者在海外发布游戏的第一选择,本文将介绍如何将白鹭引擎开发的游戏通过Egret Native 发布到 GooglePlay 平台。

发布前期准备

1、科学上网,登录GooglePlay需要***;

2、一张支持境外支付的Visa卡用来支付注册的25美金;

3、建议使用最新版Chrome浏览器来进行整体的发布流程。

打包Android App

使用Egret Native生成一个Android项目,在Android Studio中发布为aab 格式,而非 apk格式。

.aab格式为发布GooglePlay的专用格式,全名为 Android App Bundle,您可以在https://developer.android.com/guide/app-bundle/test#generate_apks上了解更多aab 格式的内容(需要科学上网)。

如果项目要输出aab格式的包,需要满足两个条件:

1、Android Studio 3.2以上版本;

2、gradle版本要大于:3.2.1,比如:classpath 'com.android.tools.build:gradle:3.2.1'。当满足如上设置后,在Android Studio中,单击菜单上的Build->Generate Signed Bundle/APK,并在弹出菜单中选择Android App Bundle即可。

注册开发者账号

注册并登陆GooglePlay开发者账号,

链接是:https://play.google.com/apps/publish/signup/。

需要注意的是在支付25美金的时候,Chrome浏览器登录账号一定和你刚才注册的 GooglePlay账号是同一个 否则可能会出现无法支付的问题。

发布流程

进入平台后,见到右上角有一个创建应用,点击进入创建应用流程。

在这个页面中会看到左边这几项有灰色对勾,点开应用版本上传打包好的应用,按照提示依次解决应用检查出现的问题。

权限检查错误

您的应用的 APK 请求“android.permission.READ_PHONE_STATE”权限。应用若要在 APK 中使用这些权限,必须设置隐私权政策。 如果您的应用的目标受众群体包括未满 13 周岁的儿童,那就必须添加隐私权政策

如果您遇到该错误,可以用以下两种方式任选一种解决:

1、提供一个架设在海外服务器上的静态隐私声明页面,并在GooglePlay 的并在商品详情选项最后填充该网页地址;

2、修改Egret Native 生成的AndroidManifest.xml 文件,具体修改方式请见后续小节:权限配置。

64位应用错误

此版本不符合Google Play关于提供64位版本应用的规定 以下APK或App Bundle面向64位设备,但只有32位原生代码:1。请向应用中添加64位和32位原生代码。您可以使用Android App Bundle发布格式来自动确保每种设备架构仅接收所需要的原生代码。这样可避免增加应用的总大小。

如果您遇到该错误,则需要在打包的时候补充64位的支持。请修改 build.gradle 文件中,添加如下属性:

{
    ndk {
        abiFilters 'armeabi-v7a','arm64-v8a'
    }
}

上传完项目并校验通过,此时应用版本检查,右下角的发布按钮还是灰色不能发布,进入商品详情填充和内容分级阶段。

每满足一项内容,对应选项的灰色对勾会变成绿色,当所有带灰色对勾的选项变成绿色以后,此时重新点开应用版本查看对应的项目,发布按钮将会解锁点击进入审核期,如无意外项目将会正常发布。

附:权限配置

GooglePlay 权限检查相关内容:由于Egret Native 1.0.1 以前的版本 egret.arr 中的 AndroidManifest.xml 中没有显式声明 targetSdkVersion ,这会导致工具会自动添加三个权限

1、android.permission.READ_PHONE_STATE;

2、android.permission.WRITE_EXTERNAL_STORAGE;

3、android.permission.READ_EXTERNAL_STORAGE。

解决方案:
1、Egret Native 1.0.2 版本解决了这个问题,升级即可;
2、开发者可以在AndroidManifest.xml 中添加相应权限的主动删除。

如遇到tools无法识别显示为红色,则:需要在应用的AndroidManifest.xml(不是上文中提到的egret.arr的AndroidManifest.xml)的跟节点中添加如下内容:

通过以上步骤,您就可以将游戏发布到GooglePlay平台上了,祝各位开发者打包发布顺利。