見出し画像

Android 11 対応を始めます #Zaim

こんにちは!
Zaim で Android エンジニアをしてます bvlion です。

皆さんはもう、Android 11 に触れられたでしょうか?

Android 11 Meetup やさまざまな記事で、盛んに情報交換されてますね。

機能の詳細は公式ドキュメントにありますので、本記事では Zaim を例に、実際に業務ではどの機能に影響がありそうで、どういった対応を実施することになりそうかを挙げてみたいと思います。

One-time permissions は位置情報とカメラで使用

Android 11 では、アプリから位置情報やカメラなどの機能を使う場合、そのアクセス権限の種類として従前の「使用を許可する」でけではなく「アプリを使用している間だけ許可する」という選択肢が増えました。

さらに Android 11 では「今回のみ使用を許可する」という One-time permissions が追加されています。

Zaim では、使用許可を求めるアクセス権限としては位置情報カメラがあります。位置情報は、主に以下 2 点のケースで使っています。

家計簿の記録画面で、現在地から購入店舗を探す
プロフィールの登録画面で、お住いの地域を現在地から検索する

家計簿の記録で店舗を探している方は「アプリを使用している間だけ許可する」が適切でしょう。でも、主に銀行やカードを連携して、手動で記録を付けていない方は、居住地を設定したいがためだけに位置情報を許可するのは憚れるかもしれません。

Android 11 で「今回のみ使用を許可する」が選べるようになると、ユーザーの安心度がグッと上がるのではないかと予想しています。こちらは早々に対応したいですね!

また、カメラは以下のような時に使っています。

家計簿の記録画面で、レシート撮影による OCR を起動する
家計簿の記録画面で、買ったものを撮影して添付する
プロフィールの登録画面で、アイコンに使う画像を撮影する
プロフィールの登録画面で、背景に使う画像を撮影する

こちらも家計簿としてカメラを使うわけではなく、Zaim を華やかにするためにアイコンや背景の画像を設定したいという方にピッタリかなと思っています。

レシート画像の保存をセキュアにする Scoped Storage

Android 11 からはセキュリティを向上させるため、他アプリが作成したファイルへのアクセスを制限する変更が加わっています。

Zaim では、家計簿に読み込むため撮影したレシートの保存は Google フォトや Amazon Photos などの他アプリからも閲覧できるよう端末内のパブリックな階層に保存しているため、対応が必須となりそうです。

また、レシートはスキャナーの「ScanSnap」からも直接 Zaim に取り込めるので、その動作にも影響すると考えています。

DarkGreyList や LightGreyList に該当する API を除去

Android には、Google が正式に利用を認めている「公開 API」以外にも、実際には使えるもののドキュメントには掲載していない「非公開 API」があります。

非公開 API はサポート外ですので、本来 Google の立場からすると開発者には利用してほしくない API です。このため、前バージョンの Android 10 では「既知の不具合があったり、以前からの挙動に依存する API なため使わないでほしい」という非公開 API を集めた「BlackList」が公開されました。

Android 11 から、Google は新たに LightGreyList(将来的に移動する可能性があるリスト)と DarkGreyList(Android 11 以降は使用不可)も公表しています。

これらに該当する API を使っている場合は、lint を使ってコツコツ修正しましょう!…というのはもちろんですが、実は現時点でも Warning が出てしまうことも。ライブラリのアップデートでどうしても非推奨になる API もありますし、getActivity の null チェックなど、ちょっとした対応漏れも少なからず存在します。

lint に何も文句を言われないソースを目指して、動作確認をしながら日々潰しています!

Zaim は Android エンジニアを募集中です!

以上、大きく 3 点の対応を挙げてみました。これ以外にも Android の最新の機能を取り入れながら、やりたいことがたくさんあります!すぐに思いつくだけでも、ApplicationExitInfo や App Compatibility Changes の導入、約 42%まで進んだ Kotlin 化のさらなる推進などなど…。

Zaim ではこれらのイベント参加や情報収集は業務時間としても可能ですし、ライブラリや Android Studio も常に最新を保ちながらアプリ作りをしています。

最新の動向を追いながら、一緒に Zaim をより良くしてただける方を探しています。ご興味のある方は、ぜひ「話を聞いてみたい」をポチっとしてみてくださいね。


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
14
業務では Android をメインに、一部サーバーサイド(PHP)の対応もさせていただいております<(_ _)>

こちらでもピックアップされています

Zaim スタッフの頭の中
Zaim スタッフの頭の中
  • 90本

「もっと、お金に、楽しさを!」家計簿サービスを運営する株式会社 Zaim のスタッフたちが、どんな風にサービスに向き合い働いているかを綴る note です。

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。