又是一篇翻译,这篇快了很多,不过也花了快一个小时,可能熟悉一点。关于6.0权限的,让你做用户认为正确的事情。

  Marshmallow and UserData 2016,2,1
  棉花糖和用户数据
  由Joanna Smith开发推广者和Giles Hogben,谷歌隐私团队

  M引入了一些改变来帮助你的app照顾用户数据。目的就是让开发者更容易地去做正确的事情。所以在Android 6.0中,Marshmallow,增加牵引,我们希望你
那么去做。

  这篇帖子将会高亮涉及到用户相信的关键考虑,当app运行到权限和硬件身份的时候,将会指引你一个新的最好的实践文档来理清在你自己的app所指向的目标。

  权限改变
  在M,权限从安装时转换到了运行时。在SDK 23+这是一个强制的改变,意味着将会影响所有的涉及到Android 6.0的开发者和它们的程序。你的app将可能需要
马上更新,所以你的挑战就是尽可能考虑全面一点。

  运行时权限意味着你的app可以在它被使用的时候在上下文中请求获取敏感信息。这会给你一个机会去解释你需要的权限,不再让用户被一长串的请求权限而惊吓到。

  权限现在被组织成组的概念,所以用户可以有一个不错的知情权,那就是不再需要去理解技术行话。在允许你的用户去做决定时,它们可能不会去同意权限或者撤销
之前同意的权限。所以,当处理API 调用可能被拒绝的权限的时候,你的app需要考虑周全,并且构建一个优雅的错误处理方式让你的用户仍然能和你的app的剩下
部分交互。

  Identifier身份改变
  用户相信的其它方面就是做和用户数据相关的正确事情。在M,我们关掉了访问一些数据的权限,就是为了让开发者沿着这条路走下去。

  最显然的,本地wifi和蓝牙MAC地址是不再可以获取了。WifiInfo对象中的getMacAddress()方法和BluetoothAdapter.getDefaultAdapter().getAddress()
方法都将从现在开始返回02:00:00:00:00:00。

  然而,Google Play Services现在提供Instance IDs,这个可以标识一个运行在设备上的应用程序实例。实例ID提供一个可信赖的可选的比如不可重设0的,设备范围的
硬件IDs,因为它们将不会坚持重设出厂模式,并且是局限于app实例的范畴。看GoogleDeveloper's 的What is Instance ID?帮助文章可以获取更多的信息

  那么接下来呢?
  用户最大程度地相信用户看到的和它们感觉到的。不正确的处理权限和标识identifiers会增加意料外的错误信息的风险,并且可能让用户感觉你的app实际上没有关注它们。
所以为了帮助你搞定事情,我们又搞了一些新的文档,应该可以让开发者可以相信他们的app对于用户是在做正确的事情。

  Understand how permissions and user data are linked Learn more about the best practices for permissions

Discover the best practices for unique identifiers, with clarity based on changes in Marshmallow.

  So happy developing! May your apps make users happy, and may your reviews reflect that. :)

  

android开发者博客二月-Marshmallow and User Data的更多相关文章

  1. android开发者博客二月Android Studio2.0测试

    参考网页-http://android-developers.blogspot.com/2016/02/android-studio-20-beta.html Android Studio 2.0-B ...

  2. 值得订阅的Android 开发者博客

    链接:http://www.zhihu.com/question/19788650/answer/60771437来源:知乎 Google 官方[Android Developers Blog](An ...

  3. 100个高质量Java开发者博客

    ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢迎你也参与推荐优质的Java开发博客.(声明一下:我们的数学不是体育老师教的!:) ...

  4. 转:100个高质量Java开发者博客

    原文来自于:http://www.importnew.com/7469.html ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢 ...

  5. 【伯乐在线】100个高质量Java开发者博客

    本文由 ImportNew - 夏千林 翻译自 programcreek.欢迎加入翻译小组.转载请见文末要求. ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博 ...

  6. 记录android开发博客

    1.一国外android开发博客,值得关注 https://blog.stylingandroid.com/page/2/ 2.一个app设计博客,很赞 http://androidniceties. ...

  7. 【新版】Android技术博客精华汇总

    [新版]Android技术博客精华汇总(原文链接内持续更新) http://www.apkbus.com/thread-313856-1-1.html Kotlin Kotlin学习资料汇总 http ...

  8. 学习:100个高质量Java开发者博客

    谷歌关键字搜索:100个高质量Java开发者博客. Java开发牛人十大必备网站.

  9. iOS常用第三方开源框架和优秀开发者博客等

    博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...

随机推荐

  1. [Tommas] 如何创建自动化功能测试的基本原则

    每个实行持续交付的项目,都有生产流水线的元素,如持续集成和自动化测试.这些测试是在不同层面进行的,从单元测试到冒烟测试再到功能测试.自动化功能测试的优点之一是可重复性和可预测的执行时间.出于这个原因, ...

  2. 查看linux虚拟机ssh服务是否开启

    知识准备: 1.ssh和sshd的区别: 2.ssh服务进程默认地址:/etc/init.d/ssh 查看ssh服务是否开启 service ssh status 或者: /etc/init.d/ss ...

  3. 转:ndk-stack打印崩溃堆栈

            接下来详细说明ndk-stack的使用方法.         第一步:首先获得发生崩溃的共享库.                 如果你是利用ndk-build应用的话,共享库会在$P ...

  4. 2015年10月15日学习html基础笔记

    一个互联网公司的分工,小公司要求全能,拿一个项目全部做出来.大公司分工明细,主要步奏为策划人员策划方案,美工人员设计图有.psd.rp等,前端人员做静态页面,后台人员获取数据java php .net ...

  5. 【CSS】Intermediate4:Background Images

    1. background:background-color url-background-image background-repeat(repeat/repeat-y/repeat-x/no-re ...

  6. (转载)链表环中的入口点 编程之美 leecode 学习

    http://www.cnblogs.com/hiddenfox/p/3408931.html 说的很细 /** * Definition for singly-linked list. * clas ...

  7. swift Swauth install

    devAuth 是swift原生的认证中间层, Swauth是为了解决devAuth不能扩展的问题而开发的替代方案. Quick Install #git clone https://github.c ...

  8. Windows Azure中对映像的管理及操作

    映像是用作新虚拟机的创建模板的 .vhd 文件.映像是一个模板,因为它与已配置的虚拟机不同,没有计算机名称和用户帐户设置等特定设置.可以通过 Windows Azure 管理门户使用现有映像,或创建您 ...

  9. 使用Visual Studio 2013编写可维护的本地可视化(natvis)

    在Visual Studio 2012中,我们介绍了创建可视化使用原生类型的能力natvis文件. Visual Studio 2013中包含了一些改进,使其更容易编写可视化的类,在内部利用收集来存储 ...

  10. linux内核系列(二)内核数据结构之链表

    双向链表 传统链表与linu内核链表的区别图: 图一 图二 从上图中看出在传统链表中各种不同链表间没有通用性,因为各个数据域不同,而在linux内核中巧妙将链表结构内嵌到数据域结构中使得不同结构之间能 ...