この記事は Dave Burke による Android Developers Blog の記事 " Android 12 Beta 5 update, official release is next! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
まもなく Android 12 が公式リリースを迎えます。現在、新バージョンの Android で最終調整を行っているところですが、皆さんのテストや開発に役立てていただくため、ベータ版の最終アップデートをお届けします。公式リリースに間に合うように、互換性のあるアプリやゲームへのアップデート準備をお願いいたします。
Beta 5 は 2021 年 9 月 8 日(日本時間 9 月 9 日) より、5G 対応の Pixel 5a を含む Pixel デバイスで利用できます。こちらから登録 (英語) すると、OTA(無線)アップデートを受け取ることができます。以前登録している方は、自動的に今回のアップデートを受け取ります。シャープなど、いくつかの主要メーカーの一部のデバイスでも Android 12 Beta 5 を試すことができます。使用を開始する方法についての詳細は、Android 12 デベロッパー サイトにアクセスしてください。
以下では、リリースが近づいてきた Android 12 公式版に関する情報をお伝えします。
2021 年 9 月 8 日(日本時間 9 月 9 日) のアップデートには、Pixel などのデバイスと Android Emulator 向けの Android 12 のリリース候補ビルドが含まれています。Beta 4 でプラットフォームの安定版に到達しているので、SDK や NDK API、アプリに面するシステムの動作、非 SDK インターフェースの制限など、アプリに面する部分はすべて完了しています。Beta 5 には、これらの機能と最新の修正および最適化が含まれており、テストを終えるために必要なものがすべてそろっています。
次に予定されているのは、Android 12 の公式リリースです。そのため、すべてのアプリやゲームのデベロッパーの皆さんに、最終リリース前に最終の互換性テストを終え、互換性アップデートを公開することをお願いします。SDK、ライブラリ、ツール、ゲームエンジン デベロッパーの皆さんは、できる限り早く互換性アップデートをリリースすることが重要です。下流のアプリやゲームのデベロッパーは、皆さんのアップデートを受け取るまで作業できないかもしれません。
アプリの互換性をテストするには、Android 12 Beta 5 が動作するデバイスにインストールし、アプリのフローを確認して機能や UI の問題を探します。Android 12 でのすべてのアプリが対象となる動作の変更点を確認し、影響を受ける可能性がある領域を集中的にテストしてください。特にテストしておくべき変更点は、以下のとおりです。
アプリのライブラリや SDK の互換性テストも忘れずに行ってください。SDK の問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを受けるようお願いします。
現在のアプリの互換性のあるバージョンを公開したら、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 12 をターゲットとするアプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知します。
Android 12 には、優れたユーザー エクスペリエンスを構築する際に役立つたくさんの新機能が含まれています。Google I/O での Android 12 関連のセッションに関するまとめとリンクについては、Android 12 Beta 2 の投稿をご覧ください。すべての新しい機能と API の詳しい説明は、Android 12 デベロッパー サイトをご覧ください。
Android 12 の開発やテストには、ぜひ Android Studio Arctic Fox もお試しください。Android 12 の変更点によって影響を受ける可能性があるコードを特定しやすいように、lint チェックも追加しています。たとえば、スプラッシュ画面のカスタム宣言、高精度の位置情報の使用がリクエストされた際の大まかな位置情報の権限、メディア フォーマット、高センサー サンプリング レートの権限などです。ダウンロード (英語) と設定を行うと、最新版の Android Studio を試すことができます。
今回の Beta 5 のリリースには、Android 12 の機能を試し、アプリをテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
シャープなど、いくつかの主要メーカーのデバイスでも、Beta 5 を試すことができます。さらに幅広くテストしたい場合は、Android GSI イメージで Beta 5 をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。今回のアップデートは Android TV でも利用できる (英語) ので、最新の TV 機能を確認したり、新しくなった Google TV エクスペリエンスでアプリをテストしたりできます。
もうすぐ予定されているAndroid 12 公式版リリースにご期待ください!それまでの間は、引き続きフィードバックをお寄せください。プラットフォームの問題、アプリの互換性の問題、サードパーティ SDK の問題の送信には、各ホットリストを使うことができます。
Android 12 リリースを形作ることに貢献してくださっているデベロッパー コミュニティの皆さんに深い感謝を捧げます。皆さんから寄せられたたくさんのバグレポートや、皆さんが共有してくれた知見は、API の調整や機能の改善、重大なバグの修正、そしてユーザーやデベロッパーにとってよりよいプラットフォームの実現に役立っています。ありがとうございます。
Android 12 に対応した皆さんのアプリを楽しみにしています。
Reviewed by Tamao Imura - Developer Marketing Manager, Google Play
この記事は Dave Burke による Android Developers Blog の記事 " Android 12 Beta 4 and Platform Stability " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
デベロッパーの皆さんにとって、Beta 4 は プラットフォームの安定版 を意味します。つまり、Android 12 の API とアプリに面する動作がすべて確定します。アプリやゲームにとっては、互換性と品質に注力していただく時期です。今年後半の公式リリースに間に合うように、互換性のあるアプリやゲームへのアップデート準備をお願いいたします。
Beta 4 は、Pixel デバイスで試すことができます。こちらから登録 (英語) するとOTA (無線)アップデートを受け取ることができます。以前登録している方は、自動的に今回のアップデートを受け取ります。ASUS、OnePlus、Oppo、realme、シャープ、ZTE など、いくつかのパートナーの一部のデバイスでも Android 12 Beta 4 を試すことができます。詳しくは android.com/beta をご覧ください。使用を開始する方法についての詳細は、Android 12 デベロッパー サイトにアクセスしてください。
Android 12 Beta 4 は、プラットフォームの安定版 に到達しました。これは、Android 12 のアプリに面する部分とその動作がすべて確定したことを示すマイルストーンです。公式の SDK と NDK API だけでなく、アプリに影響する可能性がある非 SDK インターフェースでも、アプリに面するシステム動作や制限が確定します。Beta 4 以降では、プラットフォームが変更されないことがわかっているので、安心して互換性アップデートをリリースできます。スケジュールの詳細はこちらをご覧ください。
すべてのアプリとゲームのデベロッパーは、最終リリース前にできるだけ早く最終の互換性テストを開始し、互換性アップデートを公開する準備をしてください。
すべての SDK、ライブラリ、ツール、ゲームエンジン デベロッパーの皆さんは、今すぐテストを始めて、できる限り早く互換性アップデートをリリースすることが非常に重要です。下流のアプリやゲームのデベロッパーは、皆さんのアップデートを受け取るまで作業できないかもしれません。互換性アップデートをリリースしたら、デベロッパーに向けてアナウンスしてください。
Android アプリの互換性とは、新しいバージョンのプラットフォームでアプリが意図したとおりに動作することを意味します。アプリの互換性は、デバイスかエミュレータに公開版のアプリをインストールしてテストするだけで確認できます。アプリの表示が問題なく、正しく動作すれば、それで終了です。そのアプリには互換性があります。
アプリの互換性テストは重要です。なぜなら、リリースごとにプラットフォームに必要な変更を行い、プライバシーやセキュリティを改善したり、OS 全体のユーザー エクスペリエンスを向上させたりしているからです。これにより、アプリに影響が生じる可能性もあります。そのため、すべてのアプリの動作の変更点についてのドキュメントを確認してテストし、ユーザーに互換性アップデートを公開する必要があります。アプリで優れたユーザー エクスペリエンスを確保するために、このレベルの品質は基本的かつ不可欠です。
デバイスを Android 12 にアップデートしたユーザーは、最新バージョンの Android やお気に入りのアプリやゲームを試してみたくなるでしょう。アプリやゲームが正しく動作しないと、大きな問題になり、結果的にアンインストールにつながります。
利用できる新しい API や機能はたくさんありますが、まずは現在のアプリをテストし、互換性アップデートをリリースするところから始めましょう。
Android 12 でのアプリの互換性テストは、Android 12 Beta 4 を実行しているデバイスに Google Play や他のソースから公開版のアプリをインストールするだけで行うことができます。そしてアプリのすべてのフローを試し、機能や UI の問題を探します。すべてのアプリが対象となる Android 12 の動作の変更点を確認し、集中的にテストを行ってください。特に注意すべき変更点は、以下のとおりです。
アプリのライブラリや SDK の互換性テストも忘れずに行ってください。問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを受けるようお願いします。
現在のアプリの互換性のあるバージョンを公開したら、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 12 をターゲットとするアプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知します。以下に、テストが必要な変更点の一部を記載します(targetSdkVersion が 31 以上のアプリに適用されます)。
SCHEDULE_EXACT_ALARM
android:exported
テストでは、制限されている非 SDK インターフェースが使用されていないかも確認し、存在する場合は同等のパブリック SDK に移行します。制限されている API については、こちらをご覧ください。
今回のベータ版リリースには、Android 12 の機能を試し、アプリをテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
ASUS、OnePlus、Oppo、realme、シャープ、ZTE など、いくつかの主要メーカーのデバイスでも Android 12 Beta 4 を試すことができます。Android 12 Beta に対応しているデバイスとパートナーの全リストは、android.com/beta に掲載されています。さらに幅広くテストしたい場合は、Android GSI イメージで Android 12 Beta 4 をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。
Beta 4 は Android TV でも利用できるので、ADT-3 デベロッパー キットを使って、最新の TV 機能を確認したり、新しくなった Google TV エクスペリエンスでアプリをテストしたりできます。詳しくはこちらをご覧ください。(英語)
数週間後には、最終テスト用のリリース候補として、最後のベータ版をお届けする予定です。
Android 12 Betaの詳細については、Android 12 デベロッパー サイトをご覧ください。
この記事は Suzanne Frey による Android Developers Blog の記事 " Preparing for Google Play’s new safety section " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
本日は、Google Play に追加されるセーフティ セクションについて、詳しい情報をお伝えします。Google では、ユーザーがオンラインで安全に過ごせるようにするために、デフォルトで安全で、プライバシーを考慮した設計となっており、ユーザーがデータをコントロールできるプロダクトを提供することが必要だと考えています。今回新たに追加されるセーフティ セクションは、デベロッパーにアプリの全体的な安全性を簡単に明示できる方法を提供します。また、ユーザーがアプリをインストールする前に、プライバシーやセキュリティの慣習に関する詳しい情報を提示したり、アプリが収集するデータやその理由を説明したりできます。
セーフティ セクションの情報は、Google Play ストアのすべてのアプリで必須になります。デベロッパーの皆さんがこの措置に対して準備をする十分な期間を設けるため、この新機能のデータの種類の定義、ユーザージャーニー、ポリシー要件について詳しくお伝えします。
これらの画像は方向性を示すものであり、変更される場合があります。
ユーザーには、アプリのストア掲載情報ページに、新しいサマリー欄が表示されます。そこには、アプリが収集または共有するデータについてのデベロッパーによる説明のほか、安全性に関連する以下のような情報が表示されます。
サマリーをタップすると、以下のような詳細情報が表示されます。
これらの機能をデザインするうえで、デベロッパーの皆さんがデータを扱う状況や、アプリがデータを自動収集するのか収集は任意なのかについて、より詳しくユーザーに伝えたいと考えておられることが、わかりました。また、ユーザーは収集されるデータが他社と共有されているかどうかや、その理由について理解したいと思っていることも、わかりました。
Google は、デベロッパーの皆さんと連携し、デベロッパーとユーザーの双方にとって最適な体験を設計できるように努めていますので、今後、最終的なデザインは変更される可能性があります。
本日、新しいユーザーデータ ポリシーについて発表しました。このポリシーは、ユーザーの透明性を向上させ、データがどのように収集、保護、利用されるかについて、十分な情報に基づいてユーザーが選択できるようにすることを念頭に置いて設計されました。
これは、Google 製アプリも含め、Google Play で公開されているすべてのアプリに適用されます。
デベロッパーの皆さんが準備をするにあたり、十分な時間とリソースを提供したいと考えています。
スケジュール(日付は変更される可能性があります)
2021 年 10 月より、デベロッパーは Google Play Console 上で情報の申告を行い、審査を受けることができます。本件に関して、デベロッパーの皆さんが作業を行っている途中で質問が生じる可能性もありますので、お早めに準備を開始されることをお勧めします。そして、2022 年初頭に、すべてのユーザーが Google Play で新しいセーフティ セクションを利用できるようになります。
この準備に向けて、アプリの確認を行ったり、複数のチームと調整を行う関係で、さらに準備に時間が必要になるデベロッパーもいらっしゃると思います。そこで、新規・既存のアプリのこのセクションの掲載情報の承認を得る期限を 2022 年 4 月とします。セクションが承認されていない場合、新しいアプリの送信やアプリのアップデートは不承認となる可能性があります。
2022 年初頭に、Google Play のセーフティ セクションがユーザーに公開される時点で、アプリの情報が承認されていない場合、掲載情報がない旨が表示されます。
今後数か月間で、具体的な日付などのガイダンスを提供する予定です。この機能をともに構築し、Google Play が誰にとっても安全で、信頼できるアプリとゲームの提供元であり続けるため、ご協力いただきますよう、お願いします。
Reviewed by Konosuke Ogura - Trust & Safety - Play & Android, Global Content Operations Lead, Naoki Oyama - Developer Support Lead, Google Play, APAC and Tamao Imura - Developer Marketing Manager, Google Play
この記事は Dave Burke による Android Developers Blog の記事 " Android 12 Beta 3 and final APIs " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
私たちは、毎月 Android 12 の公式版リリースに近づけるための Beta 提供をを行っています。Android 12 には、革新的な機能や、ユーザーに適応する (英語) 新しい UI、パフォーマンスの向上、プライバシーの強化、セキュリティ上のメリットなどが含まれています。多くの皆さんが、Android 12 Beta プログラムを通じて既に Android 12 の開発やテストを行っています。これまでフィードバックを提供してくださった皆さん、どうもありがとうございました。
引き続き公式版のリリースを微調整する作業を継続していますが、先日 2021 年 7 月 14 日 (現地時間)にAndroid 12 Beta 3 をリリースしました。ぜひお試しください。Beta 3 には、スクロール スクリーンショット、プライバシー インジケーター API、自動回転の強化などのアップデートとともに、確定版の Android 12 API と公式 SDK も含まれています。以上の機能をもって、次回の Beta 4 での Platform Stability を待たずに、アプリのテストとアップデートを開始することができます。ぜひご自身のアプリやゲームのご準備をお願いいたします。
Beta 3 は、既に対象となる Pixel デバイスで利用でき、こちらから登録 (英語) すると OTA (無線) アップデートも行えます。Beta プログラムに登録済みの方は、自動的にアップデートを受け取ります。パートナーのデバイスメーカーである、シャープや TCL などの、一部のデバイスでも Android 12 Beta 3 を試すことができます。詳しくは android.com/beta をご覧ください。使用を開始する方法について詳しくは、Android 12 デベロッパー サイトにアクセスしてください。
Beta 3 には、機能、ユーザー エクスペリエンス、パフォーマンスを改善する様々なアップデートが含まれています。ここでは、いくつかのポイントを紹介します。
スクロール スクリーンショット - スクロールするコンテンツを簡単にキャプチャして共有できるように、スクロール スクリーンショットを追加します。Beta 3 以降では、スクロール可能なコンテンツのスクリーンショットをキャプチャする場合、[Capture more] ボタンが表示され、それを押すことでスクリーンショットを全コンテンツに拡張できます。その後、切り取る範囲を調整することもできます。
設定アプリでのスクロール スクリーンショットのキャプチャ例
スクロール スクリーンショットは、ほとんどのアプリでそのまま動作します。標準のビューベースの UI を使っているアプリでは、何の変更も必要ありません。ビューベースの UI を使わないアプリや UI ツールキット、または高度にカスタマイズされた UI でスクロール スクリーンショットをサポートするために、新しい ScrollCapture API (英語) を導入しています。この API を使うと、システムはアプリにスクロール キャプチャ リクエストを通知するとともに、UI を描画する Surface を提供します。スクロール スクリーンショットに関する反復作業はまだ続いています。Beta 4 では、スクロールする ListView など、デフォルトのサポートが改善される予定です。また、Web コンテンツなどサポート対象のコンテンツを増やすための作業も行っています。引き続き、皆さんのフィードバックをお待ちしています。
オンデバイス検索 - Beta 3 では、新しい高パフォーマンス オンデバイス検索エンジンである AppSearch がプラットフォームでサポートされます。AppSearch (英語) を使うと、アプリが構造化データをインデックスに登録したり、組み込みの全文検索機能を使って検索したりできます。非常に効率的なインデックスの登録や検索、多言語サポート、関連度ランキングなどのネイティブ機能を使うこともできます。
AppSearch には、ローカル インデックスとセントラル インデックスという 2 つの仕組みを搭載しています。ローカル インデックスはアプリで利用でき、新しい AppSearch Jetpack ライブラリを通して下位互換性も提供されます。セントラル インデックスは、Android 12(およびそれ以降のリリース)のシステム全体で維持されます。セントラル インデックスを利用すると、オプトアウトしない限り、システム UI の表層にアプリのデータが表示されます。さらに、他のアプリと安全にデータを共有し、自分のアプリのデータだけでなく他のアプリのデータも検索できるようになります。詳しくはこちらをご覧ください。(英語)
WindowInsets のプライバシー インジケーター API - Beta 2 では、アプリがデバイスのカメラまたはマイクを使っているときに、ステータスバーにプライバシー インジケーターが表示されるようになりました。アプリが没入モードのときにインジケーターが表示されると、コントロールやコンテンツが隠れてしまう可能性があるので、アプリはインジケーターを描画できる場所を把握し、有用なコンテンツが隠れないように必要な調整を行う必要があります。Beta 3 では、WindowInsets (英語) に新しくプライバシー インジケーター API (英語) を追加します。これを使うと、インジケーターの最大領域と画面上での相対的位置を取得できます。現在の画面の向きや言語設定も考慮されます。詳しくはこちらをご覧ください。
カメラとマイクの切り替えの企業設定 - Beta 2 では、新しい切り替え機能も導入し、すべてのアプリでユーザーが即座にデバイスのマイクやカメラをオフにできるようにしました。フルマネージド デバイスに必要な制限を設定できる企業の管理者は、この機能にアクセスできるようになります。詳しくはこちらをご覧ください。(英語)
CDM でペア設定され、フォアグラウンド サービスを開始するアプリの新しいパーミッション - システムの透過性を提供しつつ、コア機能を担うコンパニオン アプリのサポートを向上させるため、Companion Device Manager(CDM)とペア設定されたアプリは、新しい通常のパーミッションを宣言することで、バックグラウンドからフォアグラウンド サービスを起動できます。詳しくはこちらをご覧ください。(英語)
自動回転の向上と高速化 - 画面を回転させるタイミングを正確に認識できるように、前面カメラによる顔検出を使って Android の自動回転機能を強化しました。この機能は、ソファやベッドで横になりながらデバイスを使う場合などに特に便利です。デベロッパーにとっては、ユーザーが設定でオプトインした場合、自動回転の動作のユーザー エクスペリエンスが向上することになります。この自動回転機能の強化は、最近発表された Private Compute Core (英語) の機能です。そのため、画像が保存されたり、デバイス外に送信されたりすることはありません。Beta 3 では、この機能は Pixel 4 以降の Pixel デバイスで利用できます。
すべてのデバイスで画面の回転をできる限り高速化するため、アニメーションと再描画を最適化し、ML を利用したジェスチャー検知アルゴリズムを追加しました。その結果、ベースとなる自動回転機能の遅延が 25% 減少しました。顔検出による機能強化は、これらの改善が土台となっています。ぜひ改善された自動回転機能をお試しいただき、感想をお聞かせください。
ゲームに向けた Android 12 - Game Mode API (英語) を使うと、プレーヤーがゲームのパフォーマンス プロファイル(長時間通勤用に電池寿命を延ばす、パフォーマンス モードで最高のフレームレートを実現するなど)を選択する操作に応答できます。この API は、近日中に公開されるゲーム ダッシュボードと連携します。ダッシュボードでは、ゲームプレイ中に重要なユーティリティにすばやくアクセスできるオーバーレイ エクスペリエンスが提供されます。ゲーム ダッシュボードは、一部のデバイスで今年中に利用できるようになる予定です。
Android 12 での Touchgrind BMX の Play as you download
それまでの間は、インストール時にバックグラウンドでゲームアセットをフェッチできるようにする Play as you download (英語) を使って、プレーヤーをすばやくゲームプレイに導くことができます。
Android 12 のすべての新機能について知りたい方は、Android 12 デベロッパー Web サイトをご覧ください。
この数週間、Android 12 API を確定する作業を行ってきました。そして Beta 3 で、公式の API レベル 31 SDK と併せて確定版 API をリリースします。Beta 4 では完全な プラットフォームの安定版に到達する予定です。この段階では、API サーフェスに加えて、アプリ向けのすべてのシステム動作と非 SDK インターフェースの制限も確定します。
Android 12 API でアプリをコンパイルする場合は、今回のリリースを使って環境をアップデートし、確定版の SDK と最新ツールでアプリを再コンパイルすることをお勧めします。
Pixel などの対応デバイスで Android 12 Beta を利用するアーリー アダプターやデベロッパーが増えてきた今が、アプリを Android 12 Beta 3 に対応する絶好のタイミングです。
Beta 3 でアプリの互換性テストを行うには、Android 12 Beta を実行しているデバイスかエミュレータに、Google Play や他のソースで公開されているバージョンをインストールします。そしてアプリのすべてのフローを試し、機能や UI の問題を探します。変更によってアプリが影響を受ける領域を集中的にテストするため、動作の変更点を確認してください。この段階では、アプリの targetSdkVersion を変更する必要はありません。問題が解決できたら、Android 12 Beta のユーザー向けにできる限り早くアップデートを公開することをお勧めします。
前述のとおり、Android 12 は次のリリースとなる Beta 4 で Platform Stability に到達します。Platform Stability では、アプリに面するすべての動作、SDK/NDK API、非 SDK 制限が確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリのリリースをしてください。デベロッパー向けの Android 12 のタイムラインの詳細は、こちらをご覧ください。
今回の Andorid 12 Beta 3 リリースには、Android 12 の最新機能を試し、アプリの動作をテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
Android 12 Beta 3 は、シャープや TCL などの一部の主要メーカー パートナーのデバイスでも利用できます。Android 12 Beta に対応しているデバイス パートナーの全リストは、android.com/beta に掲載されています。さらに幅広くテストしたい場合は、Android GSI イメージで Android 12 Beta をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。
Beta 3 は Android TV でも利用できるので、ADT-3 デベロッパーキットを使って、新しくなった Google TV エクスペリエンスで最新の TV 機能を確認したり、アプリをテストしたりできます。詳しくはこちらをご覧ください。(英語)
Android 12 Beta の詳細については、Android 12 デベロッパー Web サイトをご覧ください。
この記事は Dave Burke による Android Developers Blog の記事 "Android 12 Beta 2 Update" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
先月の Google I/O で、Android 12 最初のベータ版をリリースしました。Android 12 Beta 1 でリリースした注目の機能は、プライバシーとセキュリティを中核とした、ユーザーに適応する新しい UI や、パフォーマンスの向上が行われていることでした。デベロッパーにとって Android 12 は、スマートフォン、ノートパソコン、タブレット、ウェアラブル、TV、自動車で快適なエクスペリエンスを実現するための優れたツールです。
そして先日 2021 年 6 月 10 日(現地時間 6 月 9 日)、Android 12 Beta 2 をリリースしました。Android 12 Beta 2 では、プライバシー ダッシュボードなどの新しいプライバシー機能が追加されているほか、リリースを微調整する作業も継続しています。
Android 12 は、UI の再設計から、アプリ ウィジェット、高度な触覚機能、動画や画像の品質向上、おおよその位置情報などのプライバシー機能まで、あらゆる面で多くの変更が加えられました。関連する Google I/O セッションの要約は、後述の「Google I/O で発表した Android 12 関連情報」をご覧ください。
Android 12 Beta 2 は、 6 月 10 日より Pixel デバイスで利用でき、こちらから登録すると無線(OTA)アップデートを受信することができます。以前 Android 12 Beta 1 をインストールしているデバイスは、自動的に Beta 2 のアップデートを受信します。Android 12 Beta 2 は、一部のパートナーのデバイスでも利用できます。詳しくは、android.com/beta をご覧ください。
Android 12 Beta 2 をインストールする方法について、詳しくは Android 12 デベロッパー Web サイトをご覧ください。
今回の Beta 2 には、Google I/O でお話ししたいくつかの新しいプライバシー機能に加えて、機能、安定性、パフォーマンスを改善するためのさまざまな機能アップデートが含まれています。ここでは、いくつかのポイントをご紹介します。
プライバシー ダッシュボード - アプリがアクセスするデータについての視認性を向上させるため、プライバシー ダッシュボードを追加しました。このダッシュボードには、マイク、カメラ、位置情報にアクセスした最近のアプリが、シンプルで明確なタイムライン形式で表示されます。ユーザーはアプリに対して、プライベートなデータにアクセスする詳しい理由をリクエストできます。デベロッパーは、アクティビティで新しいシステム インテント ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD を利用してこの情報を提供できます。
アプリでこのインテントを活用し、指定された期間内のアクセスについてユーザーが理解できるよう積極的に対応することをお勧めします。自分のコードやサードパーティ製ライブラリのアクセスをトラッキングしたい場合は、Data Auditing API を利用できます。詳しくはこちらをご覧ください。
プライバシー ダッシュボードと位置情報アクセスのタイムライン
マイクとカメラのインジケーター - ステータスバーにインジケーターを追加し、アプリがデバイスのカメラやマイクを使っているときにユーザーがそれを認識できるようにしました。ユーザーがクイック設定に移動すると、どのアプリがカメラやマイクのデータにアクセスしているかを確認したり、必要に応じてパーミッションを管理したりできます。デベロッパーは、アプリでのマイクやカメラの使用について確認し、ユーザーが予期しない形で使用している場合はそれを削除するようにしてください。詳しくはこちらをご覧ください。
マイクとカメラの切り替え - マイクやカメラに対するアプリからのアクセスをすぐに簡単に無効化できるように、サポート対象のデバイスで、クイック設定に切り替え機能を追加しました。これをオフにすると、アプリからセンサーにアクセスしても、カメラや音声のフィードは空になります。その際にシステムは、アプリの機能を使うにはアクセスを有効化する必要があることを通知します。デベロッパーは、新しい API SensorPrivacyManager を使って、デバイスで切り替えがサポートされているかどうかを確認できます。
マイクとカメラの制御は、アプリのプラットフォームのターゲットにかかわらず、すべてのアプリに適用されます。詳しくはこちらをご覧ください。
クリップボード読み取り通知 - アプリがクリップボードを読み取っていることを明示的にするため、Android 12 では、アプリが getPrimaryClip() を呼び出すたびに画面下にトーストが表示されます。クリップボードにコピーしたのが同じアプリである場合、トーストは表示されません。アプリからのクリップボードの読み取りは最小限にとどめ、ユーザーが予測できる形でのみクリップボードにアクセスすることをお勧めします。詳しくはこちらをご覧ください。
接続エクスペリエンスの直感性向上 - ユーザーによるネットワーク接続の理解と管理を向上するため、ステータスバー、クイック設定、設定に、よりシンプルで直感的な接続エクスペリエンスを導入します。新しいインターネット パネルを使うと、ユーザーは簡単にインターネット プロバイダを切り替えたり、ネットワーク接続の問題のトラブルシューティングなどが行えます。
クイック設定による新しいインターネット コントロール
Google I/O では、Android 12 から最先端の Android 開発ツール、Wear や折りたたみ式デバイスなどの新しいフォーム ファクタ、Google Play まで、デベロッパー向けの Android の新機能についてお話ししました。ここでは、Google I/O の Android 12 関連の話題のうち、押さえておきたいトップ 3 をご紹介します。
#1 Android 向けの新しい UI - Android 12 では、Android 史上最大のデザイン変更が行われました。色、形状、明るさ、動きなど、エクスペリエンス全体を再考し、Material You と呼ばれる 1 つのデザイン言語によって Android 12 の表現力、ダイナミックさ、パーソナル性を高めています。
#2 パフォーマンス - Android 12 では、根本的なシステムのパフォーマンス、バッテリーの寿命、フォアグラウンド サービスの変更、メディアの品質とパフォーマンス、アプリを最適化するための新ツールなど、パフォーマンスを向上する大規模な変更を行っています。
#3 プライバシーとセキュリティ - Android 12 でも引き続き、ユーザーのデバイスとデータのセキュリティを保護しながら、透明性と制御性を高めることに努めています。
デベロッパー向けの Android 12 の機能概要を確認したい方は、今年の What's new in Android セッションをご覧ください。アプリの互換性テストに関する概要を確認したい方は、Top 12 tips to get ready for Android 12 セッションをご覧ください。Google I/O のすべての Android 関連のコンテンツは、こちらからご確認ください。
Pixel などの対応デバイスで Android 12 Beta を利用するアーリー アダプターやデベロッパーが増えてきた今が、アプリを Android 12 Beta 2 対応にする絶好のタイミングです。
アプリの互換性テストを行うには、Android 12 Beta を実行しているデバイスかエミュレータに、Google Play や他のソースで公開されているバージョンをインストールします。そしてアプリのすべてのフローを試し、機能や UI の問題を確認します。
特に注意してテストを行うべき点については、動作の変更点を参照してください。現時点でアプリの targetSdkVersion を変更する必要はありません。そのため、問題を解決でき次第、Android 12 Beta ユーザーのためにできる限り早くアップデートを公開しましょう。
Beta 2 をリリースしたので、Android 12 は 2021 年 8 月の Platform Stability に近づいています。その時点で、アプリに関連するシステムの動作、SDK/NDK の API、非 SDK リストが確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリをリリースしてください。デベロッパー向けのタイムラインの詳細は、こちらをご覧ください。
今回の Android 12 Beta 2 リリースには、Android 12 の最新機能を試し、あなたのアプリの動作をテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
Android 12 Beta 2 は、Sharp などの一部の主要メーカー パートナーのデバイスでも利用できます。Android 12 Beta に対応しているデバイス パートナーの全リストは、android.com/beta に掲載されています。さらに幅広くテストしたい場合は、Android GSI イメージで Android 12 Beta をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。
Beta 2 は Android TV でも利用できるので、最新の TV 機能を確認したり、新しくなった Google TV エクスペリエンスでアプリの動作をテストできます。ADT-3 デベロッパー キットをお使いください。詳しくはこちらをご覧ください。
Reviewed by Takeshi Hagikura - Developer Relations Team and Hidenori Fujii - Head of APAC Developer Marketing, P&E
この記事は Dave Burke による Android Developers Blog の記事 "What's new in Android 12 Beta" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
私たちが特に力を入れているのが、ユーザーの好みに適応し、よりパフォーマンスに優れ、セキュリティとプライバシーを重視した新しい UI です。デベロッパーの皆さんには、スマートフォン、ノートパソコン、タブレット、ウェアラブル デバイス、TV、車などを使用するユーザーに向けたすばらしいエクスペリエンスを提供するためのさまざまなツールも用意しています。
Beta 1 には注目すべき点がいくつもあります。まず、「Material You」というデザイン言語を採用し、Android 史上最大の変更が行われた UI です。さらに、おおよその位置情報を提供する設定など、ぜひ試していただきたい新しいプライバシー機能や、アプリとユーザーが高性能なデバイスを確認できる「パフォーマンス クラス」という新しい基準も導入しています。
Pixel デバイスに Android 12 Beta 1 をインストールする場合は、こちらの Web サイトをご覧ください。また、パートナーのデバイスメーカーが迅速なアップデートに取り組んでくださっているおかげで、ASUS、OnePlus、OPPO、Realme、シャープ、TCL、Transsion、Vivo、Xiaomi、ZTE などのデバイスでもBeta 1 をインストールできるようになりました。その他のデバイスも近々対応予定です。詳しくは android.com/beta をご覧ください。
この記事では、新機能のポイントについてさらに詳しく説明します。Android 12 全体の詳細情報や開発方法については Android 12 のデベロッパー向け Web サイトもご覧ください。
ユーザー向けのブログ記事で紹介したとおり、Android 史上最大のデザイン変更を行いました。Android 12 では、より表現力に富み、生き生きと動き、個人の好みに合うよう、色や形、光や動きに至るまですべてのエクスペリエンスを見直しました。私たちはソフトウェア チーム、ハードウェア チーム、マテリアル デザイン チーム間の密接な連携を通じてこの作業に取り組み、ソフトウェアとハードウェアのエコシステムを「Material You」という 1 つのデザイン言語の下で統合しようとしています。
この新しいデザイン言語はプラットフォーム全体にわたり、すべての UI 要素に採用されるので、アプリにはこれらのアップグレードが自動的に適用されます。
再設計されたウィジェット - Android 12 では、デザインとともに、アプリのウィジェットもより使いやすく、美しく、見つけやすく変更しました。
新しく追加されたチェックボックス、スイッチ、ラジオボタンなどのインタラクティブなコントロールによって、ウィジェットがよりカスタマイズしやすくなっています。Android 12 のウィジェットは角が丸くなり、ランチャーとホーム画面に合わせて自動的にパディングが調整されるようになったため、システム UI とテーマに美しく調和します。レスポンシブ レイアウトにより、スマーフォン、タブレット、折りたたみ式デバイスなどさまざまなスクリーンに合わせてウィジェットを変化させることができます。
また、動的なカラー API を使用することで、システムカラーを使用して、統一性を保ちながら独自のウィジェットの外観を作成できるようになりました。さらに、ウィジェットの選択機能が改善され、Assistant との連携性が高まり、ウィジェットがより見つけやすくなっています。サンプルコードをチェックし、新しくなったウィジェットをぜひお試しください。詳細はこちらをご覧ください。
ストレッチ オーバースクロール - システム全体に「ストレッチ」というオーバースクロール効果を追加しています。この効果を使うと、UI 内で利用可能なコンテンツの端までスクロールしたことがユーザーにわかりやすくなります。ストレッチ効果は縦方向と横方向のスクロールが止まることを自然な動作で知らせるものです。すべてのアプリに共通で使用され、プラットフォームと AndroidX のスクロール可能なすべてのコンテナでデフォルトで有効になっています。
このストレッチ オーバースクロールは、これまでのバージョンでサポートされていたグロー効果を用いたオーバースクロールに代わって使用されます。ご自身のアプリやコンテンツでこの新しいスクロール動作を必ずテストしてください。不要であれば無効にすることができます。詳しくはこちらをご覧ください。
よりスムーズな音声の遷移 - UI とは視覚的な要素だけではありません。音声フォーカスの処理も改善されています。
アプリが音声フォーカスを失うと、そのアプリの音量が自動的に小さくなります。音声を出すアプリからアプリへとスムーズに遷移し、アプリ同士で音声を妨げあうことがなくなります。特に、折りたたみ式デバイスやマルチスクリーンの Android 環境では重要な機能です。詳しくはこちらをご覧ください。
Android 12 では、システムとアプリを高速化する基本的なパフォーマンスの改善から、高性能なデバイスを特定し、デベロッパーによるデバイスのエクスペリエンス改善を支援する新しい基準の導入まで、大規模かつ詳細にわたるパフォーマンスの改良を行いました。
高速化と効率化を実現するシステム パフォーマンスの改善 - コアシステムのサービスを実行するのに必要な CPU 時間が 22% 削減されたため、デバイスがより高速に動作し、機敏に反応するようになります。またシステム サーバーによる大型(big)コアの使用が 15% 削減されたため電力効率がよくなり、デバイスの充電が長持ちするようになりました。
さらにロックの競合と遅延時間のばらつきを軽減して遷移とアプリの起動時間を改善し、アプリの読み込みが早くなるよう I/O を最適化しています。PackageManager では読み取り専用のスナップショットにより、ロックの競合が約 92% も減少しました。
Binder では、軽量なキャッシュによって、対象となる呼び出しの遅延時間が最大 47 倍も改善されています。I/O に関しては、dex、odex、vdex ファイルの高速化により、特にメモリ容量が少ないスマートフォンでのアプリの読み込み時間が改善されています。また通知トランポリンの制限により、通知からアプリを起動するときの遅延時間が短縮されました。たとえば、Google フォトアプリでは、通知トランポリンを行わなくなったことで、起動時間が 34% 短くなっています。
データベース クエリのパフォーマンスを改善するため、Binder のトランザクションに結果を埋め込むことで CursorWindow を最適化しました。小さなウィンドウの場合、CursorWindow は 36% 高速化しています。1000 行を超えるウィンドウでは改善率は 49 倍にも達します。
パフォーマンス クラス - Android エコシステムのパートナーと連携し、Android 12 から、高性能な Android デバイスを特定する共通の基準を導入することになりました。
「パフォーマンス クラス」と呼ばれるこの基準は、Android の基本的な要件からさらに進んだ高度な性能を定義します。パフォーマンス クラスの要件を満たすデバイスは、より厳しい条件のユースケースに対応し、より質の高いコンテンツを提供できます。デベロッパーは実行時にパフォーマンス クラスを確認することで、デバイスのパフォーマンスを最大限に活かした高度なエクスペリエンスを確実に提供できます。
当面は、メディアのユースケースに特化して、カメラの起動時の遅延時間、コーデックへの対応、エンコードの質、最小メモリ容量、画面解像度、読み取りと書き込みのパフォーマンスなどの要件を定義したパフォーマンスクラスを提供します。詳しくはこちらをご覧ください。
私たちは常にプライバシーを念頭に置いています。Android 12 でも引き続き、ユーザーのデバイスとデータのセキュリティを保護しながら、透明性と制御性を高めることに努めています。Beta 1 で追加されたプライバシー機能は以下のとおりです。
アプリの休止状態(ハイバネーション) - 昨年、Android に権限の自動リセット機能を追加しました。しばらく使用されず、ユーザーに存在を忘れられたアプリがユーザーのデータにアクセスできないようにするための機能ですが、ここ 2 週間で 850 万もの Android アプリが権限をリセットされています。Android 12 では、権限の自動リセットをさらに発展させ、長期間使用されなかったアプリを自動的に休止状態に切り替え、デバイスのストレージ容量、パフォーマンス、安全性をより改善する機能を導入します。
休止状態はユーザーが以前に許可した権限を取り消すだけでなく、アプリを強制停止してメモリやストレージ、その他の一時リソースを解放します。この状態になると、アプリがバックグラウンドでジョブを実行したりプッシュ通知を受け取ったりできなくなるため、ユーザーのデータが安全に保たれます。通常はユーザーに通知せずに休止状態を適用することをお勧めしますが、アプリで無効にする必要がある場合は、[Settings] からこの機能を無効にするようユーザーに通知してください。詳しくはこちらをご覧ください。
Android 12 では、位置情報の権限を得なくてもアプリで Bluetooth スキャンを実行して近くのデバイスを探せるようになりました。Android 12 をターゲットとするアプリでは、usesPermissionFlags=”neverForLocation” 属性を設定した BLUETOOTH_SCAN 権限を使用してスキャンを実行できます。デバイスとのペア設定が完了したら、BLUETOOTH_CONNECT 権限を使用して通信を開始できます。
usesPermissionFlags=”neverForLocation”
BLUETOOTH_SCAN
BLUETOOTH_CONNECT
これらの権限を使用することで、プライバシーに配慮した設計を採用しながら、アプリを利用する際のユーザーの抵抗感を減らすことができます。詳しくはこちらをご覧ください。
おおよその位置 - Android では最近、フォアグラウンドでのアクセスとバックグラウンドでのアクセスを別々に管理する設定や、「今回のみ」アクセスを許可するオプションなど、位置情報へのアクセスをきめ細かく管理する方法をいくつか導入しています。
Android 12 をターゲットとするアプリでは、「おおよその位置」を選択できるオプションが導入され、よりきめ細かい管理が可能になりました。アプリが正確な位置情報を要求した際に正確な位置情報とおおよその位置情報のどちらの取得を許可するかユーザーが選択できます。位置情報の正確さは [Settings] からいつでも変更できます。アプリで正確な位置情報(ACCESS_FINE_LOCATION)を要求する場合は、この変更点を考慮し、おおよその位置情報だけでもアプリが問題なく機能するようにしてください。
一般的な用途で位置情報を利用するのであれば、通常はおよその位置情報(ACCESS_COARSE_LOCATION)のみを要求することをお勧めします。詳しくはこちらをご覧ください。
Android 12 とアプリの互換性をまだテストしていない方は、ぜひ、早めに着手することをお勧めします。Android 12 Beta 1 は、Pixel デバイスやほかのデバイスで、先行登録したユーザーと、デベロッパーの皆さんが利用可能です。つまり、今後数週間にあなたのアプリを Android 12 上でより多くのユーザーが利用し、問題点を報告してくる可能性があるということです。
互換性をテストするには、Google Play やその他のソースから、Android 12 Beta 1 を実行するデバイスまたはエミュレータにインストールし、アプリのすべてのフローで動作を検証してください。動作の変更点を改めて確認することで、的を絞ったテストを実施できます。問題を解決したら、できるだけ早くアップデートを公開しましょう。
Beta 1 のリリースにより、私たちは 2021年 8 月に予定している Platform Stability の達成に一歩近付きました。プラットフォームの安定性が達成されると、アプリに関連するシステムの動作、SDK と NDK API、非 SDK のリストが最終的に決定されます。この時点で互換性の最終テストを完了し、完全な互換性が確認されたアプリ、SDK、ライブラリのバージョンをリリースできるようにしましょう。デベロッパー向けのスケジュールの詳細については、こちらをご覧ください。
リリースした Beta 1 には、Android 12 の機能を試し、アプリをテストし、フィードバックを送信するために必要なすべてのものが揃っています。ここからサポート対象の Pixel デバイスを登録して、OTA アップデートを受け取ってください。既にプレビュー ビルドをインストールしている場合は、Beta 1 のアップデートが自動で送信されます。開発を始めるには、SDK を設定してください。
Android 12 デベロッパー プレビューに参加している大手デバイスメーカー パートナーのデバイスにも、一部 Android 12 Beta 1 を使用できるものがあります。android.com/beta に、パートナーの一覧と、サポート対象のデバイスの詳細を説明したサイトへのリンクが記載されています。登録とサポートは各パートナーが管理しており、Beta 1 のアップデートもパートナーから直接提供されます。
サポートされている複数のデバイスを対象としたより広範囲なテストを行うには、Android GSI イメージで Android 12 Beta 1 を実行してください。デバイスをお持ちでない場合は、Android Emulator でテストを実行できます。Android Studio の SDK Manager から最新のエミュレータのシステム イメージをダウンロードしてください。
Beta 1 の入手方法の詳細については、Android 12 のデベロッパー向け Web サイトをご覧ください。
Reviewed by Yuichi Araki - Developer Relations Team and Hidenori Fujii - Google Play Developer Marketing APAC
この記事は Dave Burke による Android Developers Blog の記事 "Android 12 Developer Preview 3" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android 12 では、プライバシーとセキュリティを中核に据え、OS をよりスマートにし、使いやすさとパフォーマンスを向上させることに特化しています。また、ユーザーがスマートフォン、ノートパソコン、タブレット、TV、自動車のユーザーにすばらしい体験を提供できるように、新しいツールの開発も進めています。今回のリリースで注目すべき点は、新しいアプリ起動エクスペリエンス、下層ハードウェアのサポートを最大限に引き出す動画やカメラの新機能、電池を節約するために新しく導入された、正確なアラームのパーミッションなどです。
詳しい内容や Pixel へのダウンロード方法については、このブログ記事を読み進めるか、Android 12 デベロッパー Web サイトにアクセスしてください。既にデベロッパー プレビュー 2 のビルドを実行している方には、まもなく無線(OTA)アップデートが届きます。いつものように、ぜひフィードバックをお寄せください。
デベロッパー プレビュー 3 には、洗練されたエクスペリエンスと高いパフォーマンスを提供するために役立つ新しいツールが含まれています。主なアップデートは以下のとおりです。
アプリ起動エクスペリエンスの改善 - Android 12 では、アプリを起動するときの一貫性と楽しさが向上します。すべてのアプリに、新しいアプリ起動アニメーションとアプリアイコンを表示するスプラッシュ画面が追加され、その後にアプリ自体に遷移するようになります。この新しいエクスペリエンスでは、すべてのアプリが起動する際に共通のデザイン要素が導入されますが、アプリで独自のブランディングを継続できるように、カスタマイズも可能になっています。たとえば、新しいスプラッシュ画面 API や、スプラッシュ画面のウィンドウの背景色を管理するリソースを利用できます。静的なランチャー アイコンをカスタム アイコンやアニメーションで置き換えたり、ライトモードやダークモードを設定したり、終了アニメーションでアプリが登場するタイミングをコントロールしたりすることもできます。
デフォルトですべてのアプリで有効になりますので、新しいエクスペリエンスを活用するために必要なことは何もありません。できるだけ早いうちに、皆さんのアプリで新しいエクスペリエンスをテストすることをお勧めします。特に、既にスプラッシュ画面を使っている方は、忘れずにテストしてください。エクスペリエンスをカスタマイズしたい方は、新しい API を確認してフィードバックをお知らせください。詳しくはこちらをご覧ください。
新しい通話通知テンプレート - ユーザーにとって通話の着信と発信は重要で、簡単に確認および管理できる必要があります。Android 12 では、通話通知の視認性を高め、調べやすくし、他の通知コンポーネントとの整合性を向上させるための改善を行っています。電話アプリやビデオ通話に対応したチャットアプリなど、通話を扱うアプリでは、新しい CallStyle テンプレートを試すことができます。このテンプレートを使うと、着信、発信、スクリーニングされた通話の通知を作成できます。種類ごとに、デフォルトのアクションや、アプリに固有のカスタムのアクションなど、複数のアクションがサポートされています。また、大きなアバター イメージを添付したり、テキストを表示したり、ボタンの色のヒントを設定することもできます。通知シェードの一番上に表示するなど、OS は CallStyle 通知を目立つように表示します。詳しくはこちらをご覧ください。
CallStyle
正確なアラームのための新しいパーミッション - アラームは、アプリが作業をスケジューリングする際の重要な方法の 1 つです。ほとんどのアプリでは、正確でないアラームを使う必要があります。これにより、バッテリーに負荷をかけない処理が可能です。Android は Doze やアプリ スタンバイなどによってこのようなアラームを管理し、復帰の回数とバッテリーへの影響を最低限にとどめています。アラーム時計やタイマーなど、正確なタイミングが必要なアラームでは、正確なアラームを使うことができます。これは便利で信頼性が高いものですが、多用するとバッテリーの残量が急激に減る可能性もあります。そこで Android 12 では、ユーザーがさらに細かく制御できるように、いくつかの変更を加えています。
ターゲットが Android 12 で正確なアラームを使用するアプリは、新しいパーミッション SCHEDULE_EXACT_ALARM をリクエストする必要があります。これは通常のパーミッションなので、マニフェストで宣言すれば初回起動時に自動的に付与されます。ただし、ユーザーがこのパーミッションを持つアプリを確認したり、[Settings] の [Special App Access Permissions] からパーミッションの付与と取り消しを行ったりできるようになります。アプリで正確なアラームが必要な場合は、パーミッションがなくなった場合の処理を忘れないようにしてください。アプリのパーミッションの状態を確認できるようにするため、新しい API canScheduleExactAlarms() を追加しています。一般的には、可能な限り正確なアラームを使わないようにアプリを移行することをお勧めします。詳しくはこちらをご覧ください。
canScheduleExactAlarms()
ウェブリンクの改善 - Android 12 では、ユーザーがコンテンツを高速かつシームレスに取得できるようにするための変更を行っています。まず、Android アプリリンクを通して検証されないリンクや、ユーザーが手動で承認したリンクのデフォルトの処理を変更しました。新しい動作では、OS は選択ダイアログを表示せず、デフォルトのブラウザで直接リンクを開きます。また、リンクを使うアプリをユーザーが簡単に承認できるようにするため、[Settings] の [Open by default] を表示する新しい Intent を追加しました。自分のドメインのリンクを自分のアプリだけが処理できるようにしたい場合は、アプリリンクを利用できます。リンクの設定とテストに役立つ新しい adb コマンドも追加しています。詳しくはこちらをご覧ください。
adb
高度な触覚フィードバック - UI イベントに対する効果的な触覚フィードバック、ゲーム向けの迫力ある楽しい効果、生産性を高めるために注意を促す触覚フィードバックを作成するために提供しているツールを拡張し、低周波数の連続効果など、最新のアクチュエータの幅広い周波数帯域のメリットを活用した表現力の高い効果を追加しました。
ゲーム デベロッパーは、ゲーム用コントローラで種類の異なる複数のアクチュエータに個別にアクセスして同じ効果を同期的に生成したり、複数のアクチュエータ上で異なる触覚効果を生成したりできるようになります。デベロッパーの皆さんには、高度な触覚効果の構成要素として、定数とプリミティブを使うことをお勧めします。また、UI イベントを拡張する定数や、プリミティブを並べて複雑な効果を実現する触覚コンポーザも利用できます。
すべての API は、現在の Pixel 4 デバイスでテストすることができます。また、Android エコシステム全体のユーザーに最新の触覚サポートを提供するため、デバイス メーカーのパートナーとも連携を続けています。
動画エンコードの改善 - Android 12 では、動画の量子化パラメータ(QP)の範囲をコントロールする一連のキーを標準化します。これにより、デベロッパーはベンダー固有のコードを避けることができます。
この新しいキーは、MediaFormat API と NDK Media ライブラリで利用できます。動画が複雑な場合に、ユーザーが目にする動画の画質が極端に落ちないようにするため、動画エンコーダは、動画の最低画質しきい値を指定する必要があります。
Camera2 のベンダー拡張機能 - 多くのデバイス メーカーは、カメラに、ぼけ、HDR、ナイトモードなどのカスタム効果を組み込んでいます。そして、デバイスのエクスペリエンスを差別化できるように、その効果をアプリで使ってほしいと考えています。
このようなカスタム効果は、CameraX ライブラリのベンダー拡張機能を通して既にサポートされていますが、Android 12 では、このベンダー拡張機能をプラットフォームにも直接公開します。これにより、複雑な Camera2 の実装を伴うアプリは、以前のコードを大幅に変更しなくても、拡張機能を簡単に活用できるようになります。
Camera2
拡張機能の API では、CameraX とまったく同じ効果セットを公開しています。これらはさまざまなデバイスで既にサポートされているので、すぐに利用できます。詳しくはこちらをご覧ください。
Quad Bayer カメラセンサーのサポート - 現在の Android デバイスの多くには、Quad / Nona Bayer パターンなどの超高解像度カメラセンサーが搭載されています。これにより、画像の画質と低光量時のパフォーマンスで、高い柔軟性が実現しています。Android 12 では、サードパーティ製のアプリがこの多機能センサーをフル活用できるように、新しいプラットフォーム API を導入します。
新しい API は、こういったセンサー独自の動作をサポートし、フル解像度の「最大解像度」モードで動作している場合と「デフォルト」モードで動作している場合で、異なるストリームの構成と組み合わせをサポートすることも考慮します。
機械学習の高速化 - Android 12 では主要領域に注力し、デベロッパーが Neural Networks API を通して ML アクセラレータを限界まで活用し、常に最大限のパフォーマンスを発揮できるようにしています。パフォーマンスの改善に関しては、パディング、同期フェンス、再利用可能な実行オブジェクトなどの改善を導入することで、推論呼び出しのオーバーヘッドを半分以下にしました。
さらに、プラットフォームのリリースによらず、Google Play 開発者サービスを通して ML アクセラレータのドライバを更新できるようにしました。これにより、すべての対応デバイスで最新のドライバを簡単に活用できるようになるので、ML パフォーマンスの改善やバグの修正をこれまで以上に迅速にユーザーに届けることができます。
GPU 計算の標準化 - Vulkan や OpenGL などのクロスプラットフォームな GPU 計算ソリューションを優先し、RenderScript API を非推奨とします。これは、GPU ハードウェアで高パフォーマンスなワークロードを確実に実行できるようにするための対応です。既に RenderScript のみを CPU サポートした状態で出荷されたデバイスも多く存在するので、当面の間は既存の API も動作するようにします。
高度に最適化されたプラットフォーム固有のコードを使う、組み込みぼかし処理など、RenderScript 固有の機能のライブラリは、オープンソース化しました。Vulkan を使ってイメージ処理を実装する際のサンプルと移行ガイドも公開しています。詳しくはこちらをご覧ください。
ネイティブ コードでのクラッシュのデバッグ機能の強化 - NDK 関連のクラッシュのデバッグを行うことが難しい場合があるという声が寄せられています。Android 12 では、アクションにつながる診断を増やすことで、このようなデバッグを簡単に行えるようにします。
プラットフォームでは、Tombstone と呼ばれるクラッシュ ダンプファイルを使ってネイティブ コードでのクラッシュをデバッグしています。このファイルには、ART による巻き戻し、fdsan との統合、GWP-ASan、HWASan、MTE のクラッシュに関するすべてのスタックの記録など、さまざまな問題の診断に必要な情報が含まれています。今回は、App Exit Reasons API を通して、アプリからこの Tombstone ファイルにアクセスできるようになります。アプリで `ApplicationExitInfo` と `REASON_CRASH_NATIVE` を利用し、`getTraceInputStream()` を呼び出すと、Tombstone データをプロトコル バッファとして取得できます。
バックアップ構成の柔軟性向上 - Android のバックアップ サービスを使うと、ユーザーは新しいデバイスに簡単にデータを復元または移行できます。この操作の中心となるのはアプリで、ユーザーは簡単にアプリデータを転送したり、中断したところから継続したりできます。バックアップ サービスは、Google ドライブへのクラウド バックアップと、デバイス間の転送の両方をサポートします。また、デベロッパーは最小限のアプリの変更だけでこの機能を活用できます。
今回、このサービスを改善し、Android 12 をターゲットとしたアプリの柔軟性とコントロールを向上させます。クラウド バックアップとデバイス間の転送で異なるルールを設定できるように、XML 構成フォーマットを更新しました。これにより、たとえばクラウド バックアップからは巨大なファイルを除外し、デバイス間の転送には含める、といったことが可能になります。バックアップと転送で暗号化要件を別々に設定することもできます。なお、デバイス間の転送で自動バックアップをオプトアウトしたい場合は、allowBackup マニフェスト属性ではなく、新しい構成フォーマットを使用してください。詳しくはこちらをご覧ください。
allowBackup
Android 12 の詳しい機能や動作の変更点は、こちらからご覧いただけます。
新しいバージョンのプラットフォームをロールアウトするにあたって、アプリの互換性を優先し、迅速でスムーズにアップデートできるように対応しています。皆さんがアプリの動作確認などになるべく長い時間が取れるよう、Android 12 ではアプリに関連する変更のほとんどがオプトイン方式になっています。また、意図しない動作となる場合でも、短時間で対応できるように、ツールやプロセスをアップデートしています。
デベロッパー プレビュー 3 は最初のベータ版リリースにさらに近づいており、安定性を向上させるための作業が続いています。新機能や変更点を試し、アプリがどのように動作したのか、引き続きフィードバックをお寄せください。
最初のベータ版のリリースが近づいているので、確実にアプリの準備ができるようにこのタイミングで互換性テストを開始し、今後数週間のうちに、互換性のあるアップデートをリリースすることをお勧めします。現時点では、アプリの targetSdkVersion を変更する必要はありませんが、動作の変更点の切り替えを利用できます。Android 12 の変更点をオプトインすることで、アプリがどのような影響を受ける可能性があるかについての予備知識を得ることができます。
2021 年 8 月に Platform Stability に到達すると、アプリに関連するすべてのシステム動作、SDK/NDK API、非 SDK リストが確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリをリリースできます。デベロッパー向けの Android 12 リリース予定についての詳細は、こちらをご覧ください。
デベロッパー プレビュー 3 には、Android 12 に含まれる機能を確認し、アプリの動作をテストするために必要なすべてのものが含まれています。
Pixel 3 / 3 XL、Pixel 3a / 3a XL、Pixel 4 / 4 XL、Pixel 4a / 4a 5G、Pixel 5 デバイスにシステム イメージを書き込むか、Android Emulator を使うと、すぐに利用を開始できます。既に Pixel デバイスにプレビュー ビルドをインストールしている方は、自動的にこのアップデートを受け取ります。今後のベータ版のアップデートも無線(OTA)で提供されます。Android 12 を使う方法の詳細は、こちらをご覧ください。
すべての情報は、Android 12 デベロッパー Web サイトでご覧いただけます。
Reviewed by Yuichi Araki - Developer Relations Team and Tamao Imura - Developer Marketing Manager, Google Play
先月は、Android の次期バージョンの初期プレビューとして、Android 12 デベロッパー プレビューを公開しました。今月、2021 年 3 月 17 日(日本時間 3 月 18 日)に Android 12 デベロッパー プレビュー 2 をリリースしました。このビルドでは、アプリでテストできる新機能や変更点がさらに追加されています。
初期 プレビュー プログラムは、オープン性とコミュニティの皆さんとのコラボレーションで改善を行う、私たちの中核的な理念に基づいて進められています。皆さんから寄せられた情報を元に、Android をデベロッパーやユーザーにとって、よりよいプラットフォームにするために引き続き開発していきます。ぜひ今後もフィードバックをお寄せください。
Android 12 では、プライバシーとセキュリティを中核に据え、OS をよりスマートにし、使いやすさとパフォーマンスを向上させることを目指しています。また、ユーザーがスマートフォン、ノートパソコン、タブレット、TV、自動車のどれを使っていてもすばらしい体験を提供できるように、新しいツールの開発も進めています。デベロッパー プレビュー 2 で注目すべき機能は、新しい角丸画面 API、ピクチャー イン ピクチャー API の改善、コンパニオン デバイス管理の改善、ぼかしや色フィルタなどのエフェクトの使い勝手の向上、アプリ オーバーレイ コントロールなどです。
デベロッパー プレビュー 2 には、注目すべき機能がたくさん含まれています。ここでは、そのいくつかをご紹介します。詳しい情報を確認したい方や Pixel にダウンロードしたい方は、Android 12 デベロッパー ウェブサイトをご覧ください。既にデベロッパー プレビュー 1 または 1.1 を実行している方は、無線(OTA)アップデートで最新のリリース データを受信することもできます。
私たちは、デバイスやデータを安全に保ちつつ、ユーザーにとっての透明性と制御を向上させることに注力し続けています。このリリースでは、実際に確認してアプリでテストできる新機能をいくつか追加しました。
上記の詳細やその他のプライバシーやセキュリティの変更点については、こちらをご覧ください。
view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))
新しいバージョンのプラットフォームをロールアウトするにあたって、アプリの互換性を優先し、迅速かつスムーズにアップデートできるように作業を行っています。皆さんが Android 12 に対応する時間を長くとれるように、Android 12 ではアプリに関連する変更のほとんどがオプトイン方式になっています。また、短時間で対応できるように、ツールやプロセスをアップデートしています。
リリースに一歩近づいたデベロッパー プレビュー 2 では、全般的な安定性を改善する作業を続けています。今が新機能や変更点をテストする良いタイミングです。特に、API に関するご意見や、プラットフォームの変更点がアプリに与える影響に関する詳しいフィードバックをお待ちしています。フィードバック ページから、問題の報告をお願いします。
また、今は互換性テストを行って必要な作業を洗い出し始めるべきタイミングでもあります。Android 12 Beta 1 までに互換性のあるアップデートをリリースできるように、早めにこの作業を開始することを推奨しています。現時点では、アプリの targetSdkVersion を変更する必要はありませんが、動作の変更点の切り替えを使うと作業がスムーズに行なえます。Android 12 の変更点をオプトインすることで、アプリがどのような影響を受ける可能性があるかについての予備知識を得ることができます。
2021 年 8 月に Platform Stability に到達すると、アプリに関連するすべてのシステム動作、SDK/NDK API、非 SDK リストが確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリをリリースできます。デベロッパー向けのタイムラインの詳細は、こちらをご覧ください。
このデベロッパー プレビューには、Android 12 の機能を確認し、アプリをテストしてフィードバックを私達にお送りいただくために必要なすべてのものが含まれています。Pixel 3 / 3 XL、Pixel 3a / 3a XL、Pixel 4 / 4 XL、Pixel 4a / 4a 5G、Pixel 5 のシステム イメージへダウンロードすると、すぐに利用を開始できます。Pixel デバイスをお持ちでない方は、Android Studio で 64 ビット システム イメージと Android Emulator を使うことができます。
今回のリリースでは、Android TV でアプリをテストしたり、まったく新しい Google TV エクスペリエンスを試したりすることもできます。詳細はこちらをご覧ください。開発を始めるには、ADT-3 デベロッパー キットを利用します。
開発に必要な詳細情報一式は、Android 12 デベロッパー ウェブサイトでご覧いただけます。
この記事は Hoi Lam による Android Developers Blog の "Quality to match with your user’s expectations" を元に翻訳・加筆したものです。詳しくは元記事をご確認ください。
10 年以上前に Android がリリースされてから、このプラットフォームは成長を続け、ユーザーの期待も高まるばかりです。それに伴い、ユーザー エクスペリエンスから、マテリアル デザイン、プライバシーの重要性と進化に至るまで、さまざまな改善が行われてきました。その一方でデベロッパーの皆さんが、常にアプリでよりすばらしいユーザー エクスペリエンスを提供していきたいと考えていることは承知しています。同時に、どの領域に最初に取り組むべきかを判断するのが難しいことも、私たちは把握しています。そこで、Android Developers のウェブサイトにアプリの品質セクションを新たに設けて、アプリの品質の重要な内容についての最新情報や関連リソースを提供します。
今回の最初のリリースでは、Android の最新リリースや、アプリ エコシステムの現在のトレンドを踏まえて、アプリの中核品質チェックリストを更新しました。このアップデートのいくつかのポイントを示します。
常に最新の状態を保てるように、今後は四半期ごとにこのリストを更新したいと考えています。また、他のフォーム ファクタの品質チェックリストも更新する予定です。
現在は、Android で高品質なアプリを簡単に構築できるように、追加のツールやベスト プラクティスに関する作業を進めています。引き続き改善を続けていきます。ご期待ください。