这大部分是一个吐槽,但希望它能成为一个有关如何在Play.Store发布游戏的警示。作为一名经验丰富的安卓开发者(15+年工作经验)和unity开发者(10+年工作经验),你会认为,发布一个仅用一个星期(虽然这是跨几个月进行的,期间在某些天穿插工作)制作的“非常简单”的手机游戏会是件轻松的事情。
但没错。
虽然开发过程非常快,但上线发布的过程让我在谷歌Play支持的圈子里度过整整一个月。
内部测试没有任何问题,所以我已经上传了aab包,发布了生产版本……马上被拒绝了。拒绝的信息非常长,里面夹杂着各种质量政策和模板陈述,比如:
“我们不接受因崩溃或功能不正常而无法正常工作的应用程序”,
“修复问题并上传修复版本”,
“我们不接受因崩溃或功能不正常而无法正常工作的应用程序” 和同类内容。
其中还有一个条目,好像解释了什么是问题所在:
>“例如,您的应用程序无法启动或加载。”>
附带截图证明游戏启动和载入失败。然而,截图清清楚楚显示了游戏的标题屏幕。所以,对于游戏启动和载入来说,它的确成功了(尽管它缺乏触摸界面按钮,这很容易掉入陷阱)。
随后,就在Play QA和支持的混乱序曲上演了近一个月。在此期间,我上传了游戏在物理设备上的视频截图,并询问了测试环境的具体情况。在此之后,我对应用程序的质量做出了大量的投入。
然而,收到的是一条又一条的机械回答。QA只不停地复制粘贴相同的模板文本和隐私政策,而支持则承诺“尽全力”解决这个问题。
某一天,一声刺耳的耳语让我认为自动测试是在某种未支持的硬件下运行。于是,我进入了Play控制台并手动过滤了1,068个芯片组(去掉了18,000多种安卓设备模型)。
结果完全没有效果。被拒绝再一次,被复制粘贴的相同消息发送回来了。
最后,一条来自支持的模板邮件透露了一线希望:"提示用户如果某个按钮或功能可能返回0个结果"
深夜一点儿,我终于想了起来两件事点:
1.安卓手机有一个内置的硬件/手势后退按钮,用户们都期望此功能用来关闭应用程序或者切回主菜单。
2.Unity拦截安卓后退按钮并进行Esc键的操作。
此项信息第二条是十分重要的,因为如果游戏支持游戏手柄和触摸界面控制,那么按下Esc键就会暂停游戏。
我抓了手机,打开游戏,按下了后退键......什么也没发生。
因为我一直在测试期间都使用物理设备上的HOME按键来进行测试,所以我完全忽略了主菜单上的后退键是无法生效的。所以,出现问题时,我并不知道应该如何进行操作。谷歌的QA把后退键不断按下,显示没有返回主菜单的结果,因此就标记了游戏为“已固化”的或“无法工作”的软件。
很容易理解了。没过一个晚上,我就打开Unity,打开了代码编辑器,并添加了一个在初始屏幕上出现的第一个代码脚本中的特殊行(仅仅只有一行代码):
Input.backButtonLeavesApp = true;
随后,我就编译并上传一个新的版本到谷歌谷歌Play控制台。一周后,当我再次接受我上传的应用程序时,它就被安静地发布了,所有的回答和所有的问题都完全消失。
一个月的回应,一起使用了手动硬件过滤和百依百折地被谷歌的QA和支持团队所困扰的经历,最终还是被一行代码解决问题。
不要忘记你的后退键逻辑!
梗概:创造一个简单的游戏只花了一个星期。谷歌Play反复拒绝这个手机游戏一个月,声称应用程序“无法启动或载入”,并对相关问题回应并不友好。事实上,我忘了unity在安卓设备上,native硬件手势后退键并不能正常退出应用程序(这个是Quality相关的要求)。因此,添加一行代码就解决了这个问题。应用程序立即就被批准。
tl;dr: 仅用一个星期制作了一个简单的手机游戏。谷歌Play拒绝了它一个月,声称它“无法载入”,并无视了我的指责和发送了无利的回应。事实上,我将Unity映射安卓设备native硬件和手势后退键的行为忘记了。因此,添加了一行代码然后添加该代码后,应用程序立即通过了审查。
评论 (0)