阅光宝盒是QQ阅读Android V2.2版区别于市面上所有竞品的特色服务,是阅读辅助功能插件的下载中心。阅光宝盒采用半开放的方式,引入第三方应用插件,在基础阅读不断优化的同时,满足了用户个性化的高级诉求。同时,将功能的增加变得轻量,整个插件采用动态运营,防止软件臃肿。
目前已有:QQ词典、字体下载、PDF格式解晰,QQ听书。
Android QQ阅读微创新历程概述


   在AndroidQQ阅读2.0及其以前老版本的用户反馈中,不断有各种增强阅读的各种新声音,如:希望提供听书共功能、无法替换更多优美的字体来增强阅读体验、提供更好的词典功能…….,在甄别和筛选的基础发现,对大多数用户而言,这些要求要求是偏个性化的。Android QQ阅读已经打造了完整的用户核心阅读需求,对于这些个性化需求的满足,如何选择产品和设计策略成为关键,“阅光宝盒”在这种背景下应允而生,有效的平衡了核心阅读需求和个性阅读需求。


“阅光宝盒”微创新的基础理念
1.产品定位更完善
  新版QQ阅读Android版神秘的“阅光宝盒”,其内含字体、QQ词典等增强功能,不断凸显QQ阅读的产品特色——从工具逐渐蜕变成阅读服务平台,无论是图书阅读的核心体验,还是跨平台内容来源,都在逐渐引领者客户端阅读领域的发展方向。
  


2.动态运营,领先所有竞品的特色服务
  阅光宝盒在不更新客户端的情况下,动态的升级或者增加一些插件,防止软件臃肿,同时也能根据用户反馈,及时配置满足用户新的阅读相关需求。后续还规划有更多的增强性模块。


  如下图的字体动态运营,满足用户阅读字体替换的要求。当用户需要更多丰富字体插件的时候,可以高效及时的将合作资源提供到列表中(不断增加字体类型,如楷体、黑体、卡通、流行的静蕾体等等),提高用户的选择余地和个性化尝试,供用户下载。不再受版本内嵌的限制,而是能快速丰富的将用户需求满足。而这些体验也都是紧紧围绕着核心的阅读体验的。


3.功能的增加更为轻量
  目前Android QQ阅读产品已经满足大部分用户的核心阅读需求,对于少量用户的新增功能需求,不通过增加核心体验的负担,通过阅光宝盒这个窗口更为集中、轻量化的满足,不对大部分用户形成干扰。
(1)减少APK大小
  采用用户需要时点对点下载的方式,代码逻辑和资源图片都是后来从服务器上下载的,所以发布的APK包大小就可以得到很好的控制,也节省了所有Android用户所关心的流量问题。
(2)合理利用资源,使用已有.SO代码库
  使用一些已有的.SO库代码,例如PDF、QQ词典这些都是有现成的C代码,为什么不拿来主义呢?之后还可以考虑和第三方合作,有更专业的领域提供.SO库。
4.满足用户个性的高级诉求,好评不断
  这会让用户想起了大话西游里面的“月光宝盒”那个宝贝,可以穿越时空。这里的阅光宝盒更像是个阅读百宝箱,里面的功能需要下载,本次上线的有pdf格式支持、字体、QQ词典、QQ听书。目前的主流安卓Market上,用户都给予了QQ阅读4.5星的高分评价。


相关技术实现方案
技术实现方案
  服务器上存有插件列表和每一个插件的具体下载;每一个插件和插件分类都有自己独立的ID作为标识,客户端根据这些ID来进行处理,在展现和处理上定义为1个DefaultActivity/DefaultHandler类用于处理普通的插件(如PDF、字典),定义N个特殊XXXActivity/XXXHandler来处理一些有特殊要求的插件(字体)。所以代码能得到很大程度的复用。简单流程图如下:
  对于字体插件只要后台增加相应的plugin ID和ttf文件,再更新插件列表Version。客户端在在联网检查的时候就可以获知,提示用户更新列表,这样就可以在客户端不更新的情况下为用户提供新的字体下载。
  对于其他插件由于与内部逻辑紧密相连,所以只能做到更新插件的版本。虽然不能做到动态增加插件,但考虑版本节奏较快,只在每次发版的时候基于现有整体框架快速增加新的插件即可。
  插件列表的更新了老版本不能使用的插件后,可以反向推动老版本进行升级来使用新的插件。
插件的使用
  目前插件分为3种:
  1.代码内置,只是所有资源图片放在服务器。这种首先会把图片下载到SDCard中然后代码直接调用SDCard中的图片进行绘制;
  2.下载纯使用的文件,如字体的TTF文件。这个也很简单,只是按照pluginTypeID和pluginID规定好路径,下载使用就可以了,下载后在DB中记录用于上层的判断。
  3.使用含有逻辑的so库,这个是通过JAVA反射的方法获取实例来使用。
展望
  Android QQ阅读围绕阅光宝盒的定位基础,深挖用户需求,在竞争激烈的阅读客户端市场上脱颖而出,持续打磨成无线的精品。
  感谢项目组成员的共同付出!