这篇不涉及技术,就是问题。。
项目真的折腾,我真没想到一个项目我能有这么丰富多彩的经历,不知道其他人有没有这些经历:项目经历了四次改名,换logo。
-
小动作
App改名,换logo。对于更名换logo来说工作量不是很大,但是有的应用商店对于更名改logo走的流程会有些正式,有的会要求其他已经上线的商店的应用截图(假如每个商店都这么要求,还活不活了?),还有的要专门审核等等。
对于logo,应用名称修改,假如有三方登录,分享等社会化支持的话,还需要将相应开放平台的logo和名称一并换掉。但是这就出现了一个问题,比如微信,对于这些社会化操作是会根据app的唯一key(无论是什么包名签名)缓存app的基本信息的,你只改掉了app的名字和logo,当老用户去分享或者授权登录的时候,显示的依然是老名字老logo,这个问题无解,我开发的时候是卸载掉微信重装才看到有改变的。。
-
复合招式小动作
要说改名字换logo,这个经历并不少见,但是第四次的改名字换logo是伴随着另外一个事情发生的。。App归属从一个公司变为另外一个公司,需要将app搬到另外一个公司的账号下(一个app用到了多少个账号,第三方sdk的,应用商店的),同时更名字,变logo。这是一项繁琐的工作,尤其是在这个过程中还有一版不小的开发任务摆在那里的时候就显得更加繁琐。(体会下,开发过程中伴随着等待需要的材料;第三方账号新建应用创建获取新的key等(微信支付宝审核还需要一定的时间),新的申请下来替换旧的;应用商店新建,上传资料,做好随时被拒修改的准备)
- 主要的部分:新公司的营业执照(一个营业执照只能绑定一个应用商店账号),盖有新公司公章的必备的材料(需要啥准备啥,然后走流程申请),新的名字,新的logo。
具体处理:用原来的旧代码,这个想法确定之后其实就应该要下架原来的app了,因为至少一部分接口短期内是一大部分接口走的是“新项目”的代码和数据库,这样的话就会给数据库带来一部分无用的用户信息,甚至是会污染数据库。但当时鬼使神差的就没有下架原来的应用(可能觉得还能引进来一部分用户?),不下架原来的应用就得改包名,换签名(其实下架了也得改换,因为要换成新账号来创建第三方sdk的应用接入)。
在Android Studio中的gradle里面修改了下包名(没有改实际的代码项目的包名,到现在为止没有任何问题),换了个签名,用新的包名和签名去申请了第三方sdk的appId和key/secrete,然后替换掉旧的。其中qq的key和secrete是在应用宝商店创建应用的时候生成的。
等到开发完成,在各个应用商店创建应用,发布。豌豆荚应用商店强制需要提供软件著作权或者开发者声明扫描件,其他没有强制要求就没传。审核结果:豌豆荚商店告知检测到与已上线app功能雷同;好吧,去下架以前的应用。360、应用宝被拒,说法是根据国家规定,特殊行业必须提供软件著作权、pc官网以及ICP备案号,这是16年发版并未提及的,看来行业越来越严格了,咋整,发了封邮件等回复看是否能绕过去软件著作权,以后新开发的同时一定要记着去申请软著,有了软著好多事情就方便了。豌豆荚下之前的app下架之后,再次提出申请再次被拒,被拒原因:app核心功能(包含但不限。。。。等)必须付费才能使用的豌豆荚不收录,这就没办法了,这不是我能改的。。其他的等等软著看看后面还有啥要求。
-
事关一点技术
开发过程中还遇到了个问题,三方登录和分享集成的是Umeng的,其中微信登录和分享不好用,点击无反应,qq和微博是没有问题的。在微信开放平台核对包名和签名无误之后(这里是我以为的没有错误。。),核对项目中的appId和secrete确认无误,很困惑。
说一下问题的原因(原因有两个,我在上面叙述中埋了错误发生的点儿。。):
1、微信分享和登录有个回调.wxapi.WXEntryActivity类(我印象是umeng提供的,继承了微信的回调),这个在AndroidManifest.xml文件中配置的时候一定前面的报名一定是在微信开放平台中输入的包名(你在微信开放平台配置的包名.wxapi.WXEntryActivity),这就是我改了build.gradle中的applicationId中的包名没有改项目代码里面的,所以这个文件自然还在别的包下,在AndroidManifest.xml中依然是拼的以前的包名,要么你把代码的包名整个改成新的包名,要么把几个和微信相关的文件重新建个包放到里面(我没有试,但是觉着可行)。
2、问题1修改之后点击微信登录,授权失败,看一下捕捉到的错误,是这样的:weixin auth error(-6)
这里我的微信开放平台的签名是错的,不应该填写SHA1的签名,而应该是MD5的,并且是小写去掉冒号的字符串。这个错误的原因是微信开放平台并没有在创建应用填写签名的位置说明上传的格式,这里我也想当然的是写了一个而没有多加考虑,那么微信开放平台在哪里有说明呢,我发现的一个位置是下载资料—>常见问题。。常见问题里面的signature_method.doc文档下载下来才有一个示例???!!!,不知道别的位置还有没有。修改之后重新跑程序还是这个错误,又是微信缓存的问题了,卸载掉微信重新安装,然后成功调起微信登录了,这里缓存问题还好,正常用户使用的程序都是调试好了的,不会出现更换的情况,但是如果你这个功能点没开发好又刚好是这个问题,就被用户使用了,那这个用户就废了,你也就废了,这个概率很低,除非你这么做了。。
微信登录和分享的这个问题在网上找到了这篇微信第三方登录问题,及-6错误,比我说的要简洁,我就是爱絮叨,哈哈
附图一张: