6 月 3 日の「#Android11: The Beta Launch Show」にぜひご参加ください。

プライバシーに関するおすすめの方法

Android では、ユーザーが最新の革新的な機能を利用できるようにすることが重視されていますが、ユーザーのセキュリティとプライバシーを確保することが常に最優先事項となっています。

権限に注意する

透明性を高め、アプリの操作方法をユーザーが管理できるようにすることで、ユーザーとの信頼関係を構築します。

  • その時点で、およびアプリに大きな変更を加えるときに、機能に必要な最小権限をリクエストします。
  • アプリを Google Play で配信している場合、アプリで権限を拒否したユーザーの割合が Android Vitals から通知されます。
  • 権限のリクエストは、権限が必要であることをユーザーにはっきりと示すために、アプリの起動時ではなく、権限が必要なときに行います。アプリが権限をリクエストしている理由をユーザーに説明すべきかどうかを判断するには、shouldShowRequestPermissionRationale() メソッドを使用します。
  • 権限をリクエストする理由を状況に応じてわかりやすく伝えるためのアプリのフローを設計できない場合は、権限をリクエストすることでユーザーが便利な機能を利用できるようになることをアプリ内で説明します。
  • 権限のリクエスト ダイアログで、ユーザーが [今後表示しない] を選択する場合があることに注意してください。Android はユーザーの選択を尊重します。ユーザーがアプリの設定で権限を付与しない限り、同じアプリからの権限のリクエストを無視します。このような状況では、説明を不必要に表示しないでください。
  • ユーザーが権限を拒否するか取り消した場合は、グレースフル デグラデーションを実行します。たとえば、ユーザーがマイクの権限を付与していない場合、アプリの音声入力機能を無効にすることができます。
  • 危険な権限によって保護されているデータにアクセスする SDK またはライブラリを使用している場合、ユーザーは通常、データへのアクセスがアプリによって行われたと考えます。SDK が必要とする権限とその理由を理解しておいてください。

位置情報の使用を最小限に抑える

位置情報にアクセスする権限をアプリでリクエストする場合、ユーザーが情報に基づいて判断できるようにします。

  • アプリで位置情報を収集する場合は、ユーザーに特定のメリットを提供するためにアプリでどのように位置情報を使用するかを説明します。アプリが位置情報なしでもユースケースに対応できる場合は、位置情報の利用許可をリクエストしないでください。
  • アプリが Bluetooth または Wi-Fi 経由でユーザーのデバイスを近くのデバイスとペア設定する必要がある場合は、位置情報の利用許可を必要としないコンパニオン デバイス マネージャーを使用します。
  • アプリが必要とする位置情報の粒度レベルを確認します。位置情報関連のほとんどのユースケースでは、おおよその位置情報へのアクセスで十分です。
  • アプリがユーザーに表示されている間に位置情報にアクセスします。こうすることで、アプリが位置情報をリクエストする理由をユーザーがより正確に理解できます。
  • 位置情報への常時アクセス権限がない場合にグレースフル デグラデーションを実行するようにアプリを設計します。Android 10 以降では、ユーザーがアプリを使用している間、アプリの位置情報へのアクセスを制限できます。
  • ユーザーがアプリの UI から離れた後も、ユーザーが開始したタスクで位置情報へのアクセスを維持する必要がある場合は、アプリがバックグラウンドに移動する前にフォアグラウンド サービスを開始します。これは、Android のライフサイクル コールバック(onPause() など)で実行できます。
  • フォアグラウンド サービスはバックグラウンドから開始しないでください。代わりに、アプリを通知から起動して、アプリの UI が表示されたときに位置情報コードを実行することを検討してください。

データを安全に処理する

注: センシティブ データの定義について詳しくは、Google Play デベロッパー ポリシー センターのユーザーデータの記事をご覧ください。

センシティブ データの処理方法における透明性と安全性を確保する

再設定可能な識別子を使用する

ユーザーのプライバシーを尊重し、再設定可能な識別子を使用します。詳しくは、一意の識別子に関するベスト プラクティスをご覧ください。