nashcft's blog

時々何か書く。

READ_MEDIA_IMAGES と READ_MEDIA_VIDEO の使用に制限がつくらしい

API level 33 からアプリ外のメディアファイルへのアクセスに必要な permission として READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO が追加された*1が、これらの内 READ_MEDIA_IMAGESREAD_MEDIA_VIDEO の使用に関するポリシーの追加が 2023-10-25 付で発表されていた。

support.google.com

更新されたポリシーの preview は以下のページから確認できる。

support.google.com

これらのページによると、画像や動画のデータは "personal and sensitive user data subject to Google Play's User Data policy" であるためあまり無闇に対象となる permission を使わせないようにしたいので、デバイス上の画像や動画への広範なアクセスがアプリの主たる機能に直接関係するような場合だけこれらの permission を要求していいことにするよ、そのために READ_MEDIA_IMAGESREAD_MEDIA_VIDEO を要求するアプリに関しては使用が妥当なものかを審査するよ、とのこと。また、ファイル選んでアップロードするみたいなユースケースは上記の審査には通らないので system で提供している photo picker を使って permission 無しでのアクセスをするようにしてほしいということだそう。細かい話は以下のヘルプページの FAQ で色々書かれているのでそちらを確認してほしい。

support.google.com

スケジュール的にはだいたい来年中に対応を済ませましょうという感じ。

メジャーな対応ケースとしては、アプリに画像や動画の投稿・アップロード機能があって、そのために自作の picker を使っているとかで API level 33 以上で当該 permission を要求している場合に、 picker を Android が提供している photo picker に置き換えて permission 要求の記述を削除するというものになるだろう。 Photo picker の使い方は activity result contract を作って投げるだけで簡単なので、公式ドキュメントに目を通せばその他の事項含めて割とすぐに置き換えることはできると思う。

developer.android.com

余談だが複数選択をした際に photo picker から返ってくるファイルの順番が選択順ではないので、それだと困るという人は以下の issue に vote しておくと早く対応してくれるかもしれない。