※ 2015/12/24追記: バージョン1.0.3で、GET_ACCOUNTSパーミッションが取り除かれているのを確認しました。


みんコミ Advent Calendar」2日目を担当する有山圭二です。 2日目の今日は、アプリのパーミッションについて解説します。

「みんコミ」のAndroidアプリは、「Google Play Store」からインストールできます。さっそくインストールしてみましょう。

en_generic_rgb_wo_60

インストールの確認画面に表示される権限を見て、まず気になるのが「連絡先」というアクセス権限を要求していることでしょう。

Screenshot_20151128-145117

よく見ると「この端末上のアカウントの検索」という補助項目になっているので、連絡帳へのアクセス権限である「READ|WRITE_CONTACTS」ではなく、端末に登録してあるGoogleアカウントやdocomoアカウントの情報を取得する「GET_ACCOUNTS」であるとわかります。

わかりますと言うのは、アプリ開発者など知っている人であればという話で、一般のユーザーで二つの違いがわかる人は非常に少ないのではないでしょうか。

一般に「連絡先へのアクセス権限」といわれれば、電話帳の中身が見られるのではないか。インターネットを通じて送信されるのではないかと不安になり、結果としてせっかくのユーザーを逃してしまうかもしれません。

(これについては、GET_ACCOUNTSを「連絡先」にまとめてしまうAndroidもどうかと思うのですが……)

アプリ内でこの権限が必要となる処理がどれほど重要なのか。十分に検討した上で、不必要な権限をつけないという選択をする必要があります。

また、Android 6.0(Marshmallow)では、新しくRuntimeパーミッションの仕組みが導入されており、アプリは権限が必要な処理を実行する前にユーザーに許可を求めるという流れになっています。

「みんコミ」のアプリは5.x系(Lolipop)向けに作られているので権限はインストール時に付与されますが、後から個別の権限を停止することもできるので、説明が不足しているとユーザーが個別に権限をOFFにしてしまうことも考えられます。

Screenshot_20151128-213101

今回の場合、権限がなぜ必要なのかをきちんとユーザーに説明すれば、安心してインストールできるようになると考えます。

例えば「連絡先情報の読み込みはしないこと」を明確にしてから「なぜ権限が必要なのか(例えばメールアドレスの取得する処理や、ebookjapanアカウントがあった場合はそれと連携する処理をするなどが考えられます)」を説明文中で解説するのが良いと思います。

権限関係では他に「端末のスリープの無効化(WAKE_LOCK)」は要らないのでは(FLAG_KEEP_SCREEN_ONで足りる?)とも思いました。

「有山圭二」は「みんなのコミック」及び運営の「株式会社イーブックイニシアティブジャパン」とは一切関係がありません。
また、本アドベントカレンダーの内容はあくまで参加者個人の見解です。
「みんなのコミック」の評価を目的とするものではありませんので、あらかじめご了承下さい。

蛇足になりますが、みんコミといえば、僕が普段からお世話になっている根雪れい(@neyuki_rei)さんも連載陣に名を連ねていますね。

「おかあさん」より早く登場した「クラス委員の日高さん」は、春君のことが好きなのか。それともただ世話を焼いているだけなのか……

優しくしてくれるクラスメイト……うっ! 頭痛がっ!


3日の担当は「有山圭二」さんです。

よろしくお願いします。