关于App集成功能的一点感悟

  已上架的app,强制用户下载一次最新的apk,那么就会流失一定的用户量,为了减少流失,很多的游戏公司都采用热更新;我所知道的热更新,分两种;一种就是apk的增量更新,我没写过,但是有很多sdk可以达到这种效果,多数都收费,反正我不会。令一种就是使用一些比如脚本语言等热更新,比如lua,js等。这种热更,apk包功能不会变,也就是说,你封到android/ios中一些功能函数,那么就只有这些功能了,如果新增加功能,不太好增加。只能重发新的apk,让玩家更新最新版本。但如果强制玩家更新,就会出现开头说的,会有用户流失,如果不强制更新。有一些新的功能调用写入到了lua,js中,为了防止调用崩溃。又要在代码中各种版本判定。太麻烦了,那么如何能更优雅的解决这个问题呢?

  封装android/ios底层的时候,一些基本功能函数,无论上架的时候用不用,都要封装进去,你不知道后期开发新功能的时候,需不需要这些功能。比如 获取 网络状态,机器的详细信息(如cpu,内存状态,机器id等。。。),apk版本信息,apk通过第三方启动时的透传数据获取等。 这些封装进去了,正常来说,已经够了。但是上文说,一旦在后期开发过程中,需要新功能,而这些新功能,当初又没有封进底层去。那么处理就有些麻烦。 所以,在上架前,要封到底层一个或几个万能函数。用这个万能函数来做新功能的兼容。这样就不需要考虑玩家是否需要进行更新apk包啦。

  万能函数的实现:没有固定的格式,根据自己的项目而设计。我的项目基本在底层封装一个 staticfunc(String funcName, String args) 的函数,返回一个json的数据。这样对我来说就足够了。用funcName来判定逻辑,封装数据,返回String json.

  以上就是一些感触,记录一下,新开的几个项目第一时间就要把这些都写好。

  

posted @ 2021-07-26 17:33  qd-海军  阅读(179)  评论(0编辑  收藏  举报