情報畑でつかまえてロゴ
本サイトは NTTテクノロスが旬の IT をキーワードに
IT 部門が今知っておきたい最新テクノロジーに関する情報をお届けするサイトです

神原健一のAndroidで広がる世界 第2回

Android6(Marshmallow)の新パーミッションモデル解説(ユーザ編)

Androidの最新バージョン6.0 (Marshmallow)には、多くの新しい機能が追加されています。その中でも、重要な要素の1つとして、「新パーミッションモデル」があります。本機能に焦点を当て、ユーザ視点で同機能の特徴や、開発者視点で設計や実装で考慮すべきポイントを数回に分けて、解説していきます。

はじめに

皆様、こんにちは。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未満の端末へのアプリインストール時の確認例
Android 6.0未満の端末へのアプリインストール時の確認例

この確認を行った上でアプリをインストールすることで、アプリが電話帳へアクセスできるようになっていました。

これに対して、Android 6.0の端末では、どのような振る舞いになるのでしょうか?先ほど紹介したアプリの場合、インストール後、アプリ実行中に、連絡先へのアクセス許可をユーザから得ることになります(細かい条件によって、振る舞いは若干変わります)。ここで、ユーザから許可を得てはじめて、そのアプリは連絡先にアクセスすることができます。許可を得られなかった場合、そのアプリは連絡先へアクセスできないことになります。

Android 6.0におけるパーミッション許可例1
Android 6.0におけるパーミッション許可例1

また、ユーザは1度許可した後でも、自らの意志でその可否を変更することも可能です。Androidの設定内の各アプリの詳細から変更できます。当然ながら、1度許可を得ても、この画面でパーミッションを剥奪された場合、アプリはその機能を利用することができなくなります。逆にこの画面で、許可を与えることも可能です。

Android 6.0におけるパーミッション許可例2
Android 6.0におけるパーミッション許可例2

このように、Android 6.0からは新パーミッションモデルにより、悪意のあるアプリがユーザを欺き、個人情報の不正な読み取りを行うといったリスクが軽減されることになります。ユーザにとって、非常に望ましい機能と言えるでしょう。ただ、アプリを開発する側に立つと、パーミッション許可の取得方法や、ユーザの振る舞いに応じたアプリの制御、Android 6.0未満の端末の考慮など、設計や実装時に注意しなければならないポイントが幾つもあります。

おわりに

今回は、新パーミッションモデルに関して、主に、ユーザ視点で紹介しました。次回以降では、開発者視点で、具体的に注意すべきポイントを解説していく予定です。ぜひ、次回の記事も読んでいただけると幸いです。

著者プロフィール
神原 健一

メディア&モバイル事業部第二事業ユニット(M2BU)
テクニカルプロフェッショナル(Android)

神原 健一