转自:http://chinagdg.org/2015/12/%e6%9e%84%e5%bb%ba%e6%9b%b4%e9%ab%98%e8%b4%a8%e9%87%8f%e7%9a%84%e5%ba%94%e7%94%a8/
开发者的目标是打造用户喜欢的应用。使用体验更好的应用用户就愿意投入更多钱,在 Google Play 商店获得越高评分的应用会获得更多下载。那么如何衡量应用的质量?从一种角度说,应用的质量涉及以下几个方面:
应用的生命周期分三个阶段:
接下来,我们从这三个不同的阶段分别讨论如何改进应用的质量。
Material Design 提供了跨设备和 Web 的一致性用户体验。它的四项原则:
Material Design 参考资料:
Android Design Support Library
Android Design Support Library 涵盖了众多 Material Design 实现组件,并且支持 Android 2.1 以上的所有设备。详见文章:http://android-developers.blogspot.com/2015/05/android-design-support-library.html
Android Marshmallow 新特性:运行时权限和省电特性
你需要使用 API 23。对用户而言,新的运行时权限给用户更大自由控制隐私。对开发者而言,它能提高应用程序的安装率和更新率。因为用户现在只需直接安装应用,而不再需要像以前那样费心思考虑是否接受应用提出的所有权限。
用户在第一次启动应用的时候,应用可以按需向用户提出权限请求。当然,用户可能接受也可能拒绝权限请求,比如用户不明白为什么要使用这个权限或者用户正在路上没看清楚。用户第一次拒绝了权限请求没关系,应用还可以再次向用户提出权限请求。但在第二次权限请求的时候系统会给用户一个“不再询问”的复选框,如果用户还是拒绝了这个权限并且勾选了复选框,那么应用再请求这个权限的时候就会被系统忽略,唯一的办法是让用户在系统设置中把应用的这个权限打开。需要注意的是用户可以在任何时候在系统设置中打开或关闭应用的某一特定权限,即便对 API 23 之前的应用也是如此,在这种情况下应用可能会出现不可预期的问题。所以我们建议老的应用尽快更新以适应新的权限模型。
如果用户了解提出权限请求的原因,那么用户通常会同意这个请求。有四种提出权限的方式:
当然,无论使用以上哪种方式,用户还是可能选择拒绝权限请求。这种情况下,应用应该让用户知道某个功能无法正常使用是由于缺少特定权限,并提供修改应用权限的设置链接。
除了请求权限,你还可以使用 Android Intents 机制。像拍照、选择文件这些常见功能,完全可以通过 Intent 委托系统来提供,这样就根本不需要这个权限了。例如使用 ACTION_IMAGE_CAPTURE 的 Intent 来替代 android.permission.CAMERA 权限。
Android M 中的省电特性, Doze 模式和 App Standby ,是用户非常喜欢的新特性。而开发者也需要确保自己的应用能够与这些新功能相配合。
Doze 模式
用户希望自己的手机放在桌上一觉醒来后还是电力充足, Doze 模式通过让系统进入休眠状态从而节省电量。在进入 Doze 模式时,以下功能会受到限制:网络访问受限;wakelock 会被忽略;sync 和 job 会延迟;alarm 会延迟。
App Standby
当应用空闲(没有被使用)一段时间后,该应用会进入待机状态(Standby)以节省电量。当应用处于待机状态时,网络访问受限;sync 和 job 会延迟。
开发者应该测试应用在 Doze 模式和 App Standby 状态下是否正常。如果你的应用必须传递消息,请使用高优先级 GCM 消息。如果需要使用 alarm 功能,请使用新的 Alarm API 。
更多信息请参考 Optimizing for Doze and App Standby 。
Android Studio 是 Google 官方支持的 Android IDE ,而 Eclipse ADT 将于 2015 年底停止维护,所以请尽早迁移到 Android Studio 上。Android Studio 的特性包括:
另外,还可以参考我们之前发过的中文介绍:
尽管如此,用户还是喜欢比较小到应用,所以请优化你的应用使下载文件尽可能地小。如果超过 100M ,请使用 APK Expansion Files 。
如果你的应用想在正式上线前先邀请少量用户测试反馈,或者想了解用户对应用下一个版本的新功能是否喜欢,那么可以采用 Google Play 提供的特别功能:Alpha/Beta 测试。这个功能让你可以邀请一小批用户进行测试和反馈。受邀用户不能对测试版的应用进行评价,这样不会影响你的应用评价,而你又可以通过多种手段来获得用户反馈。此外,还可以将用户分为 Alpha 和 Beta 两个测试组分别进行测试。
现在有两种方式让用户轻松加入 Beta 测试:
Alpha/Beta 测试是您在正式发布之前的受邀测试手段。而当您准备正式发布时,新版应用仍然可能出现您未曾预料到的意外问题。为了降低可能出现的问题的影响范围,您可以分阶段发布。也就是说新版本只发布给一定比例的随机用户(比例可设),而不是所有用户。如果没发现问题,那么可以逐渐提高这个比例直到发布给所有用户。分阶段发布的应用就是正式版本,所以用户可以进行评价。如果您收到反馈发现有明显问题,那么受影响的只是这一部分用户。您可以及时修正问题再发布新版本。已发布的版本不支持回滚,但在不得已的情况下,您可以把之前的版本仅升级版本号重新发布。
Cloud Test Lab 是一个还没有正式开放的新服务,你可以在 Play 开发者控制台上申请试用。它可以让你在物理或虚拟设备上进行测试,并且与 Google Play 和 Android Studio 集成。
在设计阶段,利用 Material Design 设计原则和相关工具可以让你以较低的成本实现高质量的应用设计。在开发阶段,请尽快适配 Android 6.0 中新的权限模型和省电模式;利用 Android Studio 的各种功能可以协助你做好开发和测试。最后,在发布阶段可以利用 Google Play 的 Beta 测试和分阶段发布功能将测试和发布掌控在自己手里。最后,请观看下面的中文视频讲解(YouTube或优酷) :
作者:韩国恺
除非特别声明,此文章内容采用知识共享署名 3.0许可,代码示例采用Apache 2.0许可。更多细节请查看我们的服务条款。