今天在下班回去的地铁上,突然脑海中蹦出了这个问题!再结合自己微薄的项目经验,由此得出了这篇文章,算是个笔记总结。鉴于博主是Android开发那么文中大部分都偏向于Android。闲言少数,书归正传,前提就不用多说了。
1、需要确定好Android支持的最低版本。
2、确定APP发布的渠道,方便以后数据统计。
3、确定好APP的升级策略,比如最好能提供一个接口,用来判断是否强制用户升级。
4、确定好使用哪些SDK,以及SDK需要收集的信息,比如MAC地址等等。编写好隐私政策和用户协议。特别是隐私政策,按照华为隐私政策的要求,如果SDK需要收集敏感信息的话,需要将第三方SDK也要列在隐私政策上标明收集的信息,使用的目的。而应用宝又有别的要求,比如收集信息的SDK必须在用户同意隐私政策之后才能初始化,虽然这些隐私政策很少有人看。
6、确定好接口的数据格式,虽然使用HTTPS,但是也要对敏感数据比如手机号和账号等相关字段进行加密,跟服务端确定好加密和解密的方法。同时token对隐私数据的加解密也要定义好。
7、在使用HTTPS的时候千万不要为了省事而默认信任所有证书,甚至对域名都不做校验,这样会给后来埋下巨大的坑。如果不嫌CA升级麻烦,可以考虑使用内置CA证书的方式加强APP的安全性。
8、随着APP的迭代,可能需要引入更多的SDK。这就要及时更新隐私政策,同时可以定义一个接口或发出通知,当隐私政策改变的时候,让APP自动在弹出隐私政策提示弹框。
9、在引入SDK的时候,需要明确SDK的混淆规则,加入到自己的混淆规则中。
10、APP需要做好对IP V6的支持。
11、做好基础库的封装,比如各种Util,比如FileUtil,LogUtil,DeviceUtil,权限申请框架等等。
12、最好提供一个全局配置的接口,比如用来控制开关,比如是否强制升级,是否弹出隐私政策等等配置接口。
13、如果考虑到要使用夜间模式的话,严格按照Android相关API进行操作。
14、做好对64位手机的支持操作。目前各大应用商店在推动64位的适配,这个要需要做好兼容。
15、随着APP的升级迭代,可能需要一些埋点数据,需要确定埋点的相关规范。
16、做好APP的加固,最好使用第三方来做。
17、相关接口做好版本管理,最好在接口定义好通用字段,比如版本号,渠道等各种公共信息。
目前暂时想到这么多,虽然有些可能在APP初级阶段没法做到,比如埋点,但是后面如果用到了要记得做好规范,做到Android和iOS的统一,后面想到了会继续追加上。也欢迎读者在评论区追加上。