Android6(Marshmallow)の新パーミッションモデル解説(ユーザ編)
Androidの最新バージョン6.0 (Marshmallow)には、多くの新しい機能が追加されています。その中でも、重要な要素の1つとして、「新パーミッションモデル」があります。本機能に焦点を当て、ユーザ視点で同機能の特徴や、開発者視点で設計や実装で考慮すべきポイントを数回に分けて、解説していきます。
神原健一の技術で広がる世界 第2回
- 2015年09月30日公開
はじめに
皆様、こんにちは。NTTソフトウェア株式会社の神原です。「Androidで広がる世界」の第2回目です。前回は、私の「Androidに関する海外講演活動の取り組み」について、ご紹介しました。今回から話題を変えて、Androidの最新バージョン6.0 (Marshmallow)を対象とします。Android 6.0には、多くの新しい機能が追加されています。その中でも、重要な要素の1つとして、「新パーミッションモデル」があります。本機能に焦点を当て、ユーザ視点で同機能の特徴や、開発者視点で設計や実装で考慮すべきポイントを数回に分けて、解説していきます。
Android 6.0の「新パーミッションモデル」について
新パーミッションモデルとは、そもそも何でしょうか?簡単に言えば、Android 6.0から採用された、アプリが利用するパーミッションをユーザがコントロールできる仕組みのことです。連絡先(電話帳)読み込みなど、特殊な機能を利用するアプリは、その機能を利用するための許可をユーザから、原則、明示的に得ることが必須になりました(システムアプリの場合など一部、例外があります)。新パーミッションモデルの詳細に入る前に、Android 6.0より前の端末では、どのような振る舞いが行われるかを振り返ってみましょう。
例えば、「連絡先にアクセスするアプリ」をAndroid 6.0未満の端末で利用する場合、アプリをインストールする契機で、どのようなパーミッションを利用しているか?(今回は、連絡先にアクセス)をユーザが確認し、問題ないかを判断していました。
この確認を行った上でアプリをインストールすることで、アプリが電話帳へアクセスできるようになっていました。
これに対して、Android 6.0の端末では、どのような振る舞いになるのでしょうか?先ほど紹介したアプリの場合、インストール後、アプリ実行中に、連絡先へのアクセス許可をユーザから得ることになります(細かい条件によって、振る舞いは若干変わります)。ここで、ユーザから許可を得てはじめて、そのアプリは連絡先にアクセスすることができます。許可を得られなかった場合、そのアプリは連絡先へアクセスできないことになります。
また、ユーザは1度許可した後でも、自らの意志でその可否を変更することも可能です。Androidの設定内の各アプリの詳細から変更できます。当然ながら、1度許可を得ても、この画面でパーミッションを剥奪された場合、アプリはその機能を利用することができなくなります。逆にこの画面で、許可を与えることも可能です。
このように、Android 6.0からは新パーミッションモデルにより、悪意のあるアプリがユーザを欺き、個人情報の不正な読み取りを行うといったリスクが軽減されることになります。ユーザにとって、非常に望ましい機能と言えるでしょう。ただ、アプリを開発する側に立つと、パーミッション許可の取得方法や、ユーザの振る舞いに応じたアプリの制御、Android 6.0未満の端末の考慮など、設計や実装時に注意しなければならないポイントが幾つもあります。
おわりに
今回は、新パーミッションモデルに関して、主に、ユーザ視点で紹介しました。次回以降では、開発者視点で、具体的に注意すべきポイントを解説していく予定です。ぜひ、次回の記事も読んでいただけると幸いです。
新技術開発を好み、Androidは正式版が出る前から試用するなど、公私にわたってモバイルの世界に没頭。 プライベートで開発した「セカイフォン」で、 Multi-Screen UX Competition優秀賞受賞。MWC(バルセロナ)/IFA(ベルリン)/CES(ラスベガス)へのプロダクト出展、 国内外(デブサミやDroidconなど)のセミナー講演や書籍執筆(単著・共著含め5冊)などの活動も行っている。NTTテクノクロスきってのモバイル技術者。 プライベートでは旅行が好きで、現地の外国人にセカイフォンをデモすることが密かな楽しみ。