经过漫长而痛苦的改 Bug 折磨,我为公司开发的 App 终于要上线了!

我仿佛看到了工资在向我招手,仿佛听到了年终奖为我欢呼!

然而,现实总是充满了坑,没想到上线应用的路依然曲折,今天就来说说我在上线 App 时踩过的坑。

这次上架的只有 Android 版的 App,经 Leader 决定,只在『应用宝』上线,虽然这样限制了分发渠道,但也是减少了我的工作量,而且在『应用宝』上线的一个好处就是可以利用微信及其开放平台进行跳转下载。

好的,开搞。

首先得在『腾讯开放平台』注册开发者账号,不过得益于腾讯平台社交能力,支持使用 QQ 授权登陆,但是也仅能支持 QQ 授权登录。

腾讯开放平台首页

这种方式对于个人开发者而言,是十分方便的,而对于公司来说,就会涉及到个人隐私问题,就像我们公司,需要员工注册一个新的 QQ 号,并使用员工的手机号码进行绑定,鉴于国内隐私保护能力,这样对员工的影响也是不小的,所以我认为应该增加一个邮箱注册登录的入口更加合适。

另外需要注意的是,『腾讯开放平台』在我使用期间表现十分不稳定,通过搜索引擎结果登录后常常进不去,我后来发现可以通过其邮件上的链接跳转,而进去后部分页面也会出现加载时间过长的情况。

选择注册类型

登录后还需要作一系列的信息认证,个人开发者需要上传身份证等信息,公司开发者还需要上传公司的信息,比如营业执照等。

信息认证

做完一系列的认证就可以上传开发好的应用了,在「管理中心」中创建应用即可。

创建应用

随后跳转到「选择平台」的页面,这里可以选择 Android、iOS 以及 Web 三个平台。

选择平台

由于我目前只开发了 Android 版本的 App,所以这里我选择 Android,然后点击「创建应用」,则会弹出对话框选择应用类型。

应用类型

有「游戏」和「软件」两个选项,我这里选择「软件」。

关于应用分成的问题,我在『Quick App』一文中有聊过,有兴趣可以了解一下。

接着就到关键一步了,填写应用的相关信息。

填写应用信息

这就经历了我踩坑最多的地方,因为我一共提交了 7 次审核,历时三周。

先打个比方说一下我公司的背景,假设有 A 和 B 两个公司,其中 B 是 A 的独立子公司,我就职于 B 公司。这怎么理解呢,可以参考一下手机品牌中的 HUAWEI 和 ZTE 等,Honor 是 HUAWEI 的独立子品牌,nubia 是 ZTE 的独立子品牌;也可以参考一下 Alphabet,Google 就是 Alphabet 的子公司,所以我所在的公司是子公司,上面还有一个母公司。

第一次提交,驳回原因是该应用存在版权问题,需提供应用软件著作权证书,请在版权证明处上传相关材料扫描件后重新提交

原因是未上传版权证明,由上图可以看出,版权证明中并无必填项,所以我一开始并没有上传。

后来我才发现,版权证明下有一行小字:

应用必须提供版权证明,开发者版权证明提交,请参考版权证明指引,大小2M以内,支持JPG/PNG格式的图片。

过分!明明说必须提供,但是却没有标记为必填项,这不是浪费我时间嘛!

上网查了一下相关手续,极其繁琐,需要填写各种资料,更麻烦的是需要上传源码及文档共 120 页的鉴定材料,而且邮寄提交后需要等待一个月的时间,由于文档我在开发的时候并没有写(坏习惯),所以要完成这一整套流程估计也得一个半月,于是我就给 Leader 提了两个方案:

一是等待我完成所有鉴定材料再申请,但是这个时长具有不确定性,因为这个材料即使提交了,也可能因为各种原因不能通过,被打回来还要修改,然后重新提交上去后再审核,每个审核周期大约是一个月,所以往坏的想,申请一个这样的证书可能需要几个月甚至是半年的时间。

二是交给第三方平台来辅助完成,这些平台基本上都自称包过,而且加钱还可以加急,可以保证在短时间内拿到这个软件著作权证书,但价格也不便宜。

当我搜集了一天的资料递给 Leader 后,他说可以拿母公司的软件著作权证书来代替。

突然就觉得我这一整天瞎忙活了…

上传母公司的著作权证书,静候佳音。

第二天再次驳回,原因是该应用经下载检测,应用内容无法加载,请修复并核实后重新提交

出现这个问题是因为之前在『WeChat H5 Payment for Android』和『Android M 从 Service 中启动 Activity』等文章中提到这个 App 里包含了大量的 WebView,而由于后台代码还未发版本,仅在测试服务器上可用,而在正式服务器上不能正常显示,所以导致被驳回。

WebView 不能正常加载

催促后端工程师发版本,使其能正常显示,再次提交申请。

迎来了第三次驳回,原因是该应用经下载体验,无注册端口,请在版权证明处上传测试账号和密码的截图后重新提交

因为当初我们开发的时候为了方便维护,要求用户在微信端绑定了手机号码后,才能在 App 中使用手机号码登录,这样就不会在 App 端登录的时候需要创建一个新的账号出来,账号中的各种信息也可以同步,但明显『腾讯开放平台』方并不允许我们这样做。

为了通过这个审核,我们只能重新修改代码,使用户在使用 App 时,用手机号码创建一个新的账户,不检测其是否在微信绑定。不过由于我们的后端大佬太忙需求太多,这个后台需求交给了一个菜鸡前端来完成,结果这个功能做好后,其他的功能都出了 Bug。

上线要紧,毕竟我们使用了 WebView,这些功能可以后面再进行热修复,而且由于我们的 App 需要结合硬件使用,所以相信审核的人员也没有条件可以测出我们的 Bug。

提交后,第四次驳回,原因是该应用存在版权问题,提供软件著作权证书归属与上传认证开发商不一致,请提供相关授权后重新提交

上面提到,我们使用了母公司的软件著作权证书,而在「应用提供方」一项中我填写的是我们子公司,这就导致了不一致,综合考虑,我们把这一项也改成了母公司,并再次提交申请。

第五次驳回,该应用存在版权问题,提供软件著作权人名称与认证开发者名称不一致,请在版权证明处上传真实有效的材料扫描件后重新提交

这是由于一开始我们在申请该开发者账号的时候,填写的也是子公司的信息,所以同样造成了冲突,把开发者账号的认证信息也修改成母公司,并再次提交审核。

第六次驳回的原因和第五次相同,一开始我还以为我理解错了,去后台查看了一下才发现,开发者账号的认证信息修改也是需要审核的,所以在审核未成功之前,使用的还是之前的信息,也就是子公司的认证信息,因此才会出现同样的驳回原因。

等待认证信息审核成功后,再次提交 App 的上线申请。

终于,在第七次提交的时候成功了。

最后就可以在「管理中心」中查看 App 的相关信息了,比如应用等级和下载量等,也可以更新安装包进行版本迭代,还可以为应用接入广告服务等。

这时候可以去『应用宝』搜索一下确认是否成功上线,因为一开始我接收到腾讯发过来的上线邮件时,我去『应用宝』搜索并没有,然后在网上看了一下发现有人遇到相同的情况,他们是通过提交工单给腾讯方要求其展示的,不过过了十几分钟后我准备采取相同的做法时,却发现在『应用宝』中可以搜索到我们的应用了。

成功上线,皆大欢喜。