Marshmallow 引入了几项更改,这些更改旨在帮助您的应用管理用户数据。其目标是使开发者可以更轻松地做正确的事情。随着 Android 6.0 Marshmallow 日渐流行,我们鼓励您尽快跟进。
本文重点介绍在面对运行时权限和硬件标识符问题时赢得用户信任的几个重要考虑事项并引导您了解新的最佳实践文档,阐明在您自己的应用中应该瞄准哪些目标。
在 Marshmallow 中,权限请求已从安装时改到运行时。 这是 SDK 23+ 的一项强制性改动,意味着它会影响所有以 Android 6.0 作为目标平台的开发者和应用。无论如何,您的应用都需要更新,因此,您的挑战在于审慎地进行更新。
运行时权限意味着您的应用现在可以在需要用到敏感信息时请求访问敏感信息的权限。这样,您将有机会解释为何需要此权限,而不是提供一个长长的请求列表,那样会让用户感觉恐慌。
现在还可以对权限进行分组,这样,用户无需理解技术术语,亦可做出知情的决策。允许用户做出自己的决定,他们可以决定不授予权限或者撤销之前授予的权限。因此,如果您的应用所处理的 API 调用对用户提出的权限要求可能被拒绝,则需要特别慎重,特别是要建立妥善的故障处理机制,让用户仍可操作应用的其他部分。
标识符更改
赢得用户信任的另一个因素是妥善处理用户数据。在 Marshmallow 中,我们关闭了对某些类型数据的访问权限,以引导开发者妥善处理用户数据。
最为显著的是,不能再访问本地 WiFi 和蓝牙 MAC 地址信息。从现在开始,针对WifiInfo 对象调用getMacAddress()方法和 BluetoothAdapter.getDefaultAdapter().getAddress()方法均会返回02:00:00:00:00:00。
然而,Google Play 服务现在会提供实例 ID,此 ID 可标识在设备上运行的应用实例。实例 ID 提供了一种可靠的方法来取代不可重设的、作用于整个设备的硬件 ID,因为实例 ID 在恢复出厂设置后不会得以保留,且其作用域仅限于某个应用实例。如需了解详细信息,请查阅 Google 开发者专区的《实例 ID 是什么?》帮助文档。
帮助文档,请访问:developers.google.com/instance-id
未来计划
用户信任在很大程度上取决于用户的所见和所感。对权限和标识符的处理不当会导致不需要/非故意的跟踪风险增大,并可能导致用户感觉您的应用实际上并不关注用户。因此,为了帮助您正确处理权限和标识符,我们创建了新文档,让开发者能够确信他们的应用的行为方式符合用户的需求。
了解权限和用户数据之间的链接方式(developer.android.com/intl/zh-cn/training/articles/user-data-overview.html)
了解有关最佳权限实践的详情(developer.android.com/intl/zh-cn/training/articles/user-data-permissions.html)
根据 Marshmallow 中的更改,清楚地了解唯一标识符的最佳实践(developer.android.com/intl/zh-cn/training/articles/user-data-ids.html)
原文来自【安卓开发者全球博客】:
android-developers.blogspot.com
网友评论