重要信息 | 应对Google Play的重要调整
近期Google发布了关于Google Play应用商店的重要调整,这些调整将会对Android的开发者产生重要影响。
Google Play 重要调整
2018年8月开始,所有向Google Play商店新提交的应用需要满足目标API级别为26即Android 8.0 Oreo或者更高。
2018年11月开始,所有Google Play商店已有应用的更新提交也必须符合上述要求。
从2019年8月开始,所有Android的应用都必须提供64位支持。Google Play应用商店对32位应用程序的支持不会消失,但是应用必须包含64位版本。
针对这些要求,Unity将帮助你为这些调整作好准备,并提供我们的解决方案以满足新的要求。
目标API级别
建议你在Player Settings中将Target API Level属性设置为“Automatic”。这样构建过程就会将清单中的targetSdkVersion设置为在Android SDK中安装的最新SDK平台。
要是你已经安装好SDK Platform 26 (Android 8.0 Oreo),你将能满足Google Play的新要求。如果还没有更新SDK的话,Unity编辑器将显示SDK更新提示,Unity可以为你更新Android SDK。
如果你想要自行控制目标API等级,可以在Target API Level属性下拉列表里进行选择。近期我们会在所有当前支持的Unity版本中,加入最新API级别到该列表中。请记得在更新目标API级别后,务必对应用做一次全面测试。
64位的支持
Unity对本地64位Android支持已经到了最后开发阶段,并且已经进行内部测试。Unity 2018.2中将推出对64位Android支持的预览版,并计划在2018年第四季度推出的Unity 2018.3中提供正式版,这样在Google规定的时间之前,我们就作好了充分的准备。
Unity的Android ARM 64位支持一开始只在IL2CPP脚本后端得到支持。IL2CPP技术会为脚本提供C++类的性能支持,这能让应用启动速度时间加快一倍。如果你是Google Play上的游戏开发者,并且仍然使用Mono脚本后端,我们强烈建议你考虑转而使用IL2CPP。
为什么要使用IL2CPP而不是Mono呢?Mono 在Android中是基于Just In Time (JIT)编译,这意味着代码会在Android设备上从.NET IL转换为机器码,而IL2CPP则基于 AOT前期编译,所有代码会在开发者的机器上转换为机器码(以C++代码为中介来转换)。AOT编译能带来更快的启动时间和更好的总体性能,因为它的大部分重要优化都在桌面端机器完成,而不是移动端设备。
如果你正在使用自定义本地插件,请更新你的构建脚本以支持ARM64架构。如果你正使用第三方本地插件,请联系你的插件提供商以获取ARM64架构支持。
参考信息
Google Play的重要调整
https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html
IL2CPP信息
https://docs.unity3d.com/Manual/IL2CPP.html
更多技术信息与文章请访问Unity官方论坛(unitychina.cn)!
推荐阅读
官方活动
时间:2018年1月14日
地址:https://www.bagevent.com/event/1031633
Asset Store资源商店问卷调查
时间:截至到2018年1月5日
地址:https://zh.surveymonkey.com/r/XM786XG
时间:截至到2018年1月16日
地址:https://connect.unity.com/challenges/neon
时间:截止到2018年1月31日
地址: https://connect.unity.com/challenges/ml-agents-1
点击“阅读原文” 访问Unity官方论坛!