この記事は Alex Musil による Android Developers Blog の記事 "The top Google Play updates from I/O ‘21" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
今年の Google I/O では、Google Play を最大限に活用するために役立つたくさんのすばらしい新機能やツール、アップデートについてお知らせしました。I/O セッションですべてのアップデートを確認できますが、この記事では、インストール数の増加からエンゲージメントや収益の拡大まで、ビジネスの推進に役立つ新機能の概要をご紹介します。
※日本語字幕に対応しています
この記事は Simon Earnshaw による Android Developers Blog の記事 "What’s new with Wear" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
デベロッパーの皆さんが美しく、高品質なウェアラブル エクスペリエンスを実現するための新機能、API、ツールを備えた Wear プラットフォーム最大のアップデートを発表します。このブログ記事では、Wear 向けに優れたアプリを開発することがどのようにより簡単になったのか、また、新しいプラットフォーム用のアプリを準備するために、これら`の API やツールのプレリリース版をどのように使い始めることができるかをご紹介します。
私たちは、最新バージョンの Wear を準備するにあたって、デベロッパー向け Web サイトを全面的にリニューアルし、最新の API ドキュメント、必要な知識を体系的に学習できるラーニング pathway 、Codelab、サンプルをご用意しました。また、Wear には近日中に最新の マテリアル デザインをベースにした全く新しいコンシューマー エクスペリエンスが導入されるため、新しいデザインシステム、UI コンポーネント、UX パターン、スタイルをカバーするデザインガイドラインを更新しました。詳しくはこちらをご覧ください。
小さな (円形または正方形の) 画面向けに調整され、バッテリー寿命を最適化するように設計された新しい Jetpack API から、Jetpack Tiles API まで、優れた Wear エクスペリエンスの開発、ボイラープレート コードの削減、Wear のバージョンやデバイス間で一貫して動作するコードの作成をサポートするために、多くの新機能を追加しました。
Tiles API は現在アルファ版です。Wear OS 2 以上がインストールされているデバイスで動作をサポートしていますので、Wear エコシステムのすべてのデバイス向けにタイルを作成できます。最新のプラットフォーム アップデートが行われた後、ユーザーが使用しているウォッチにタイルが表示される予定です。詳しくはこちらをご覧ください。
ユーザー エンゲージメントとアプリの見つけやすさは、ビジネスを成長させる上で重要な要素です。そこで、Google Play ストアの大規模な改善を行います。ユーザーは、検索を使ってウォッチ用アプリを簡単に見つけたり、Wear カテゴリを見ておすすめのアプリを探したり、スマートフォンから直接ウォッチにアプリをインストールしたりできるようになり、ウォッチ上で素晴らしいアプリ エクスペリエンスをより簡単に見つけられるようにする予定です。
次世代の Wear をご提供できることを大変嬉しく思っています。スマートウォッチ用アプリの開発について詳しくは、d.android.com/wear でご確認ください。デベロッパーの皆さんが開発するアプリを楽しみにしています。
Reviewed by Saryong Kang - Developer Relations Team and Tamao Imura - Developer Marketing Manager, Google Play
この記事は The Android Team による Android Developers Blog の記事 "Android @ Google I/O: Recapping building across devices" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
今年の Google I/O では、どのようにすれば、アプリで大小さまざまな Android の画面を活用できるかについてお話ししました。この記事では、見逃してしまった方のために、知っておくべき重要なことをご紹介します。
タブレット、折りたたみ式デバイス、Chrome OS ノートパソコンなどの大画面でもうまく動作するアプリを開発することが、今までになく重要になっています。既に 2 億 5000 万台以上の大画面 Android デバイスが使われています。また、新しい折りたたみ式デバイスによってマルチタスクがさらに簡単になり、ハンズフリー アクティビティに対応したテーブルトップ モードなど、新たなエクスペリエンスが登場しています。Samsung Galaxy Z Fold2 のテーブルトップ モードで動作する Disney+ の例をご覧ください。
どんなデバイスのサイズにもシームレスに対応できるアプリの設計も、今までになく簡単になっています。たとえば、Jetpack Compose や ConstraintLayout を使ってレスポンシブ レイアウトを作成し、Chrome OS や折りたたみ式デバイスでサイズを動的に変更できます。さらに、どこに指を置くかなど、ユーザーが大画面をどのように使うかを調査したうえで、そのようなエクスペリエンスを簡単に実現できる API やツールを提供しています。
また、Android プラットフォーム、Chrome OS、Jetpack WindowManager もアップデートし、デフォルトの状態でのアプリの動作を向上させています。たとえば、デフォルトで多くの UI 要素に最大幅の値が設定されるようになったので、大画面での見栄えがよくなります。また、Display API の変更によって、既存のアプリが WindowManager を使ってウィンドウ指標を問い合わせなくても、折りたたみ式デバイスで正しくレンダリングされるようになっています。
大画面での開発サポートについての詳細は、以下の I/O セッションをご覧ください。すべての動画が日本語字幕に対応しています。
さらに詳しく知りたい方は、折りたたみ式デバイス、タブレット、大画面の最新情報のブログ記事や、エンゲージメントを向上させて評価を上げた Google Duo のケーススタディ(英語)をご覧ください。
これまでの Wear プラットフォームで最大のアップデートについてご紹介しました。このアップデートには、美しく高品質なウェアラブル エクスペリエンスを実現するために役立つ新しい機能や API、ツールが追加されます。
開発を効率化できる新しい Jetpack API も登場しました。Tiles ライブラリを使うと、特によく使う情報やアクションにすばやく直感的にアクセスできるようになります。また、もう 1 つの注目すべき追加機能が Ongoing Activities API です。これを使うと、アプリを閉じた(音楽の再生などの他のタスクを始めた)ユーザーをアプリに引き戻すことができます。現在、どちらのライブラリもアルファ版です。
健康とフィットネス向けの新たな API 群もリリースしました。デバイスのセンサーとそれに関連するアルゴリズムとの間を仲介してくれるので、アプリがアクティビティ、エクササイズ、健康に関連する高品質なデータを利用できるようになります。現在、Health Services プラットフォームのアルファ版が公開されています。
Android Studio Arctic Fox Beta をダウンロードすると、新しい Wear システム イメージのデベロッパー プレビューを試し、新しいプラットフォームでアプリの準備を始めることができます。さらに詳しく知りたい方は、以下の I/O セッションをご覧ください。すべての動画が日本語字幕に対応しています。
また、ブログ記事(英語)や、Spotify の Wear 開発ケーススタディも併せてご覧ください。
現在、Android TV OS は、毎月 8000 万台以上のアクティブなデバイスで使われ、米国では 80% の成長を遂げています。また、Android TV OS は、昨年秋に登場した Google TV エクスペリエンスの中核を担っています。Google TV は、Chromecast with Google TV、Sony のスマート TV、タブレットを含む Android デバイスのアプリなどのストリーミング デバイスで利用できます。
今年の I/O では、Android TV OS での開発を簡単にするいくつかの新しいツールや機能について発表しました。
以上のリリースにより、幅広いデバイス構成でアプリの開発やテストを簡単に行えるようになるだけでなく、最新の Android 12 や Google アシスタント、Cast 機能が TV で利用できるようになります。詳しくは、I/O の What's new in Android TV and Google TV セッションをご覧ください。なお、動画は日本語字幕に対応しています。
Android Auto のアプリは、多くの最新の自動車に搭載されているインフォテインメント ディスプレイに接続できます。これをさらに簡単にするために、先日、Jetpack の一部として Android for Cars App Library を公開しました。このライブラリを使うと、対応する自動車にナビゲーション、EV 充電スポット、駐車場のアプリを組み込めるようになります。
今後は、さらにアプリのカテゴリを拡張する予定です。Android Auto にアプリを提供することに興味がある方は、こちらのフォームから登録をお願いします。g.co/androidforcars にアクセスすると、早速今日から Android for Cars App Library をお使いいただけます。詳しくは、I/O の What’s new with Android for Cars セッションか、ブログ記事(英語)をご覧ください。
この記事は 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() を呼び出すたびに画面下にトーストが表示されます。クリップボードにコピーしたのが同じアプリである場合、トーストは表示されません。アプリからのクリップボードの読み取りは最小限にとどめ、ユーザーが予測できる形でのみクリップボードにアクセスすることをお勧めします。詳しくはこちらをご覧ください。
接続エクスペリエンスの直感性向上 - ユーザーによるネットワーク接続の理解と管理を向上するため、ステータスバー、クイック設定、設定に、よりシンプルで直感的な接続エクスペリエンスを導入します。新しいインターネット パネルを使うと、ユーザーは簡単にインターネット プロバイダを切り替えたり、ネットワーク接続の問題のトラブルシューティングなどが行えます。
クイック設定による新しいインターネット コントロール
Android 12 のすべての新機能について知りたい方は、Android 12 デベロッパー Web サイトをご覧ください。
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 デベロッパー キットをお使いください。詳しくはこちらをご覧ください。
Android 12 Beta の詳細については、Android 12 デベロッパー Web サイトをご覧ください。
Reviewed by Takeshi Hagikura - Developer Relations Team and Hidenori Fujii - Head of APAC Developer Marketing, P&E
今年の Google I/O はいかがでしたか?まだチェックしていない方は忘れずに Google 基調講演、デベロッパー基調講演、What's new in Android の 3 つのセッションをぜひご覧ください(※ 3 つとも日本語字幕対応)。美しいリップル(波紋)効果やストレッチ オーバースクロールを含む Android 12 Beta 1 、7 月に 1.0 の安定版になる Jetpack Compose、Material You の発表、ベータ版になった Android Studio Arctic Fox、Android デベロッパーに最も使われている言語である Kotlin(トップ 1,000 アプリの 80% が使用)や、Jetpack ライブラリがトップ 10,000 アプリのうち 84% 以上で使われている現状などをすべて確認できます。
まだご覧になっていない方は、ぜひご覧ください。また、この記事では皆さんが見逃してしまったかもしれないニュースをご紹介しましょう。今年の I/O のセッションはすべて日本語字幕に対応していますので、ぜひ切り替えてご覧ください。
What’s new in Jetpack セッションとブログ記事(英語)の要点は、CameraX、Hilt、Paging 3、ConstraintLayout、MotionLayout、Security Crypto、そして Fragment ライブラリが安定版に移行したことです。DataStore と Compose は現在ベータ版です。そして、Jetpack に以下の新しいライブラリが加わります。
さらに、WorkManager の新バージョンで現在アルファ版の 2.7 は、Android S SDK がターゲットになっており、プラットフォームの新しいフォアグラウンド制限が追加でサポートされています。詳しくは、Effective background tasks on Android セッションをご覧ください。
また、Navigation ライブラリを使っている方は、最新のアルファ版で複数のバックスタックがサポートされているので、ご確認ください。
Jetpack Compose が 7 月に 1.0 の安定版になるので、誰もが心躍らせていることでしょう。しかし、Compose を採用するときに、望まないのであれば、アプリのアーキテクチャを変更する必要はないことはご存知でしょうか。詳しくは、Using Jetpack libraries in Compose のセッションをご覧ください。Compose は、Navigation、Kotlin フロー、Hilt など、特に人気のあるライブラリに組み込めるようになっています。
さらに、Compose ではマテリアル デザインの実装も提供されます。その機能を活用する方法については、Build beautiful Material Design apps with Jetpack Compose セッションをご覧ください。
2 つの新しい Codelab も公開されています。Compose Navigation と Compose のテストです。Compose について体系的に学習する場合は、こちらのラーニングパスとワークショップをご覧ください。初めての Compose アプリを構築する方法を動画形式で基礎から説明しています。
Android 12 の最初のベータ版には、Android 5.0 でマテリアル デザインが導入されて以降、最大のデザイン変更が含まれています。これには、システムのテーマを使ってウィジェットに適用するダイナミック カラーなど、アプリ ウィジェットの動作の仕組みと外観の大幅な更新が含まれています。詳しくは、Refreshing widgets セッションをご覧ください。
また、システム全体にストレッチ オーバースクロール効果が新しく導入されますが、これは 1 つのスクロール コンテナにしか適用されないので、アプリの動作がどのようになるかを確認しておきましょう。
Android 12 で Bluetooth デバイスをスキャンするアプリは、neverForLocation 属性付きの新しい BLUETOOTH_SCAN パーミッションがあれば、位置情報パーミッションは必要なくなります。これにより、アプリの煩雑さが軽減されるだけでなく、LOCATION パーミッションが必要なアプリの数も減ることになります。
neverForLocation
BLUETOOTH_SCAN
LOCATION
位置情報と言えば、FINE_LOCATION パーミッションをリクエストした場合でも、ユーザーはアプリにおおよその位置しか渡さないように設定できるようになります。
FINE_LOCATION
Beta 2 に導入する予定のたくさんの新しいプライバシー機能についてもお知らせしました。ユーザーに表示されるプライバシー ダッシュボード、新しいマイクとカメラのインジケーターと切り替え機能、クリップボード読み取り通知などです。Android 12 におけるプライバシー関連のすべての変更については、What’s new in Android privacy セッションをご覧ください。
今回のベータ版には、パフォーマンス クラスも導入されています。これは、要求の厳しいユースケースや高品質のコンテンツをサポートできるデバイス向けの一連の機能で、現在は主にメディア機能を対象としています。
Android 12 Beta 1 は、エミュレータ、Pixel 3 以降のデバイス、またはデバイス パートナーが発売しているデバイスの一部で試すことができます。
たくさんの新機能が搭載された Android Studio Arctic Fox が Beta チャンネルで公開されています。Compose のサポート、Compose 開発を加速させるすばらしいツール、Layout Inspector の Compose サポート、組み込みのユーザー補助スキャナなどの機能が搭載されています。それだけでなく、折りたたみ式デバイスのエミュレータ、Android TV リモコン、Wear OS のペア設定ウィザードなど、サポート対象のデバイスも増えています。また、生産性を飛躍的に向上させるため、Background Tasks Inspector や Kotlin コルーチン デバッガ、Kotlin Symbol Processing のサポートも Android Studio に追加されました。
これらすべて、さらにその他の機能も、What's new in Android Development tools セッションでご紹介しています。
ConstraintLayout と MotionLayout の改善についてのさらに詳しい情報や、Android Studio で利用できる Compose ツールについては、What's new in design tools セッションをご覧ください。
Android 開発コミュニティで、Kotlin が採用される数が増えています。State of Kotlin on Android セッションの中で特にお伝えしておきたい新機能が、Kotlin Symbol Processing と、UI レイヤーからフローを収集する新しいライフサイクル API です。
Kotlin Symbol Processing(KSP)は、高速のビルドと、Kotlin エコシステムで最高級のシンボル処理を目指しています。KAPT による Java スタブ生成と、それに伴う長いビルド時間は不要になります。KSP は Kotlin コンパイラに組み込まれており、すべての Kotlin シンボルへのアクセスを提供します。また、KSP はベータ版に到達し、API サーフェスが確定しました。現在 KAPT を使っているプラグイン作成者の皆さんは、ぜひ KSP への移行を始めてください。私たちの Jetpack Room ライブラリもベータ版として KSP をサポートした結果、KAPT に比べて処理が 2 倍高速になりました。KSP についての話題は、先日の ADB ポッドキャストでも取り上げました。詳しく知りたい方は、ぜひお聴きください。
lifecycle-runtime-ktx ライブラリの最新版には、ライフサイクルに対応した repeatOnLifecycle API が含まれています。この API は、ライフサイクルがある状態に到達した場合やその状態を下回った場合に、コードブロックをキャンセルしたり再開したりします。この動作は、ビューがバックグラウンドにある場合に実行を停止してアップストリームのフローをアクティブに保つ launchWhenStarted API とは異なります。新しい API を使うと、特定のシナリオでリソースを無駄に消費しなくなるので、アプリの効率を高めることができます。
lifecycle-runtime-ktx
repeatOnLifecycle API
launchWhenStarted
この API によって、Android アプリのすべてのレイヤーで Flow を使うための完全なストーリーができあがりました。詳しくは、Migrating from LiveData to Kotlin’s Flow のブログ記事をご覧ください。
タブレット、Chrome OS デバイス、折りたたみ式デバイスなどの大画面デバイスをターゲットにしやすくするためのたくさんの機能をお知らせしました。たとえば、アップデートされた折りたたみ式対応の SlidingPaneLayout を使うと、一覧/詳細ビューを簡単に実装できます。また、横向き大画面用の新しい垂直ナビゲーション レール コンポーネントや、Button、TextField、Sheet のような極端に引き延ばされることが多いマテリアル コンポーネントの最大幅の値を導入し、新しいガイダンスも提供しています。詳しくは、こちらのセッションをご覧ください。
SlidingPaneLayout
Wear の次期バージョンが登場します。そこで、プレビュー エミュレータ システム イメージ、Android Studio から簡単に Wear エミュレータと他のデバイスをペア設定できるペア設定アシスタント、バーチャル心拍数センサーなどの新しいツールを準備しています。Ongoing Activities API とタイルによって、ユーザーがアプリとインタラクションを行う方法がさらに増えます。Samsung との共同作業で作成した新しいヘルスサービス プラットフォームは、現在アルファ版として組み込むことができます。また、カーブしたテキスト、ウォッチフェイス、ウォッチフェイスの追加機能、リモート インタラクションなど、Wear 向けの開発を容易にするその他の新しい Jetpack API も準備しています。詳しくは、Now is the time: What's new with Wear セッションで解説しています。
Android TV では、Cast Connect でストリームの転送と拡張が可能になり、Android 11 を実行する新しいエミュレータが利用できるようになりました。また、ADT-3 デバイスでは Android 12 Beta 1 を利用できます。8,000 万台を超えるアクティブな TV デバイスで稼働する Android の詳細については、What's new in Android TV and Google TV セッションをご覧ください。
Android に、アップデート可能な完全統合型の ML 推論スタックが搭載されることをお知らせしました。つまり、TensorFlow Lite for Android(TFLite)と Neural Networks API(NNAPI)が Google Play 開発者サービスを使って提供されるようになります。そのため、アプリの APK サイズを削減でき、新しい APK を公開しなくても、最新の高パフォーマンスなバージョンを活用できます。TFLite と NNAPI、そして関連するチップセット向けのドライバは、プラットフォームのバージョンとは独立してアップデートされるので、Android エコシステム全体でドライバと API の一貫性が向上します。また、TFLite 2.3 に互換性リストが追加され、どの部分を GPU やアクセラレータで実行するとモデルを高速化できるかがわかるようになっています。そのリストやモデルが提供するメタデータを使って、CPU、GPU、他のアクセラレータ バックエンドのどれで実行するかを判断する Automatic Acceleration についてもお知らせしました。Android のオンデバイス ML の新機能については、What's new in Android Machine Learning セッションをご覧ください。
これまで、CI サーバーで合格するテストがローカルの Android Studio では失敗する、あるいはその逆の事象を見たことがある方もいるかもしれません。このようなことが起きると、テストの信頼性が失われ、生産性に明らかな影響が出る可能性があります。その原因の 1 つは、Android Studio と Android Gradle プラグインが異なるバージョンの Android インスツルメント テストランナーを実装していることです。Android Studio Arctic Fox では、Android Studio のすべてのテストが Android Gradle プラグインで実行されるので、動作の一貫性が保たれます。
プロジェクト Nitrogen がどうなっているのか、気になっている方も多いでしょう。Nitrogen はもう存在しません。代わりに、統合テスト プラットフォーム(UTP)が登場しています。これは拡張可能なテスト実行環境で、Android Studio と Android Gradle プラグインから大規模な Android テストを実行します。
UTP によって実現できる機能の 1 つが、Gradle が管理する仮想デバイスです。これにより、Gradle DSL を使ってデバイスを定義できるようになります。もう 1 つの機能は、複数のデバイスで並列にテストを実行することにより、テスト実行の拡張性を向上させる機能です。さらに、テストが失敗したときのエミュレータのスナップショットを取得し、後ほどその状態を復元して何がうまくいかなかったのかを調査できるようにする機能もあります。
テストの詳細については、What's new in Android testing tools セッションをご覧ください。
I/O ではゲーム デベロッパー向けの内容はそれほど多くありませんでしたが、その大きな理由は、7 月 12-13 日に Google for Games Developer Summit の開催を予定していることです。登録は無料です。I/O では語られなかったゲーム開発に関するセッションをお届けする予定です。
長年にわたって、ポリシー、ポリシーの変更、ポリシー違反への対応について多くの質問が寄せられてきました。そのご要望にお答えして、Google Play Console に新しいポリシーとプログラムのセクションで、ポリシーとその適用情報が 1 か所で確認できるようになりました。
また、Google Play に新しい SDK コンソールが導入され、SDK プロバイダが非準拠や古い SDK バージョンなどの問題を報告できるようになります。AppBundle で公開する場合、Android Gradle プラグイン 4.0 以降では、アプリのどの SDK に依存関係があるかを自動的に報告できます。これにより、Play で SDK のアップデートが推奨される場合に通知などを行えるようになります。今年中には、アプリに適切な SDK を選択する際に役立つ新しいウェブサイトが Play に登場する予定です。
Play Billing 4.0 ライブラリのリリースにより、複数の数量の購入や、複数のプロダクトを 1 つのサブスクリプションの一部としてまとめるマルチライン サブスクリプションなどの新機能を利用できるようになります。既存の課金対応アプリは、今年の 11 月 1 日までに、少なくとも以前の Play Billing 3.0 ライブラリにアップデートする必要があります。新規アプリは、8 月 2 日までに Play Billing 3.0 以降に移行する必要があります。
ADB エピソード 163 では、Android グラフィック チームの Nat Duca と Sumir Kataria とADB チームで、シェーダー、GPU、Vulkan、OpenGL、ANGLE、ドライバ、ぼかし、ピクセルなどのトピックについてのトークをお届けします。もちろん、Chet のお気に入りの「色」についての話も登場します。
エピソード 164 は、Jetpack Compose について取り上げる新しい連載ミニシリーズ「AD/BC」の初回です。このシリーズでは、Android の未来の UI ツールキットについて、さまざまなトピックを掘り下げます。今回は、Nick と Chet が Adam Powell と Leland Richardson に、Compose のコンパイラやランタイム、データフローについて、そして Compose がデータの状態の変化に応じて Composable を呼び出すタイミングを判断するという素敵な機能について話を聞きました。
今回は以上です。今年の Google I/O はお楽しみいただけましたでしょうか。Jetpack、Android 12 とプライバシー、ツール、Kotlin、大画面、Wear OS、Android TV、オンデバイス機械学習、テスト、ゲーム開発、Google Play といったさまざまな最新情報が満載でした。グラフィックと Compose のポッドキャストもお聴きください。次回も Android デベロッパーの世界の最新アップデートをお届けします。お楽しみに。
この記事は Oscar Wahltinez による Android Developers Blog の記事 "What's new in foldables, tablets, and large screens" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
ユーザーは より大きな画面で、かつ、1 台のデバイスのみを活用し、より多くのことができることに価値を見出しています。大画面デバイスに対応したアプリは、その価値をさらに高めることができます。
折りたたみ式デバイスは、大きな画面を持つデバイスの使い勝手を向上させました。タブレットのような画面サイズのデバイスをポケットに入れて持ち運べる様になり、従来型のスマートフォンでは実現の難しかった使い方ができるようになります。アプリのエコシステムへの影響について考えると、とてもワクワクします。このハードウェアの大きな変化は、スマートフォンで新しくできるようになることがあるに違いない、という期待をもたらしているからです。私たちは、この大画面化の流れは、タブレットにも及ぶと考えています。同じようなアプリ エクスペリエンスでも、画面の大きいデバイスで操作した場合は、段違いに評判が良くなります。
このブログ記事では、大画面向けにアプリを準備するときに何をすべきか、アプリの開発を効率化する最近のアップデートについてご説明します。まずはじめに、大画面についての私たちの考えと、アプリを最適化するべき理由についてお話しします。
この 1 年で、各社が新しい折りたたみ式デバイスやタブレットを発表しています。また、ユーザーが自宅で新型デバイスを使ってより多くのことをしようとしているため、需要も増加しています。つまりデベロッパーの皆さんは現在、Android の大画面デバイス向けにアプリを開発すると、2 億 5,000 万台以上のアクティブな折りたたみ式デバイス、タブレット、Chromebook にリーチすることができます。タブレット の売上は 2020 年に16% 増加し、アナリストは 2023 年までに 4 億台以上の Android タブレットが登場すると予想しています。また、Android アプリは、現在 2 番目に人気のあるデスクトップ OS である ChromeOS でも動作します。
大画面化によって、ユーザーのデバイスとの付き合い方が変わりつつあります。このようなデバイスでは、メモを見ながらスライドデッキを編集したり、夜の外出に備えておすすめのレストランを調べたり、友達とチャットしながらビデオを見たりすることができます。ここでは、アプリを大画面に対応するためにサポートしなければならない機能である、基礎レベルのサポートについて説明します。大画面に対応するためには、主に 大きく分けて 3 つのカテゴリに注目します。
これらについて以下にまとめますが、詳しくは大画面アプリの品質ガイドラインを必ずご覧ください。
最初のステップは、アプリを確実に大画面向けに設計することです。これを簡単にするために、特定のウィンドウサイズのブレイクポイントとデバイスクラスを定義して、デベロッパーが最適化できるようにしました。最短のサイズが 600dp 以上のディスプレイにはタブレットレイアウトを追加し、アプリが端から端まで表示されるようにします。また、大画面は横向きで使用されることが多いため、デベロッパーはアプリが縦向きと横向きの両方で使用されるように考慮する必要があります。画面のスペースをより有効に活用できるように、マテリアル アダプティブ コンポーネントをご用意しました。詳しくは後ほどご説明します。
分割画面(またはマルチウィンドウモード)への移行や、ドラッグ&ドロップのようなジェスチャーによる操作は、ユーザーが大画面デバイスでシームレスに動作することを期待する、自然なインタラクションになりつつあります。
アプリのサイズを変更可能にすることで、アプリをシームレスにマルチタスク対応にできます。また、画面の折りたたみ/ 展開イベントを適切に処理し、アプリをマルチウィンドウモードに対応させることで、アプリがレターボックス表示になることを防げます。
多くの人は生産性を高めるためにより大きな画面を使います。そのため、タブレットは基本のキーボード、マウス、スタイラスの使用をサポートする必要があります。
Jetpack と Material Design ライブラリの UI コンポーネントをアップデートし、スマートフォンの UI を大画面に拡大しても柔軟なユーザー エクスペリエンスを開発できるようになりました。
アプリを大画面に最適化するときに最もよく使われるアダプティブ レイアウトの 1 つが、一覧・詳細UI です。例えば、メッセージングアプリでは、片側にメッセージを一覧表示し、もう片側にメッセージの詳細を表示します。
SlidingPaneLayout ライブラリのアップデート版を使うと、小さな画面では上下に重なってしまう UI も、簡単に横に並べることができます。2 ペインスタイルのレイアウトをサポートするためにアップデートされた SlidingPaneLayout は、2 ペインの幅を使って UI のレイアウトを決定します。これは、コンテンツの幅と利用可能なスペースに基づいて、横に並べることができるかどうかを自動的に判断して実行します。例えば、リストペインの 最小幅が 200dp、詳細ペインが 400dp 必要と測定された場合、SlidingPaneLayout は、少なくとも 600dp の幅が利用可能であれば、自動的に2つのペインを横に並べて表示します。
折り目やヒンジなどのディスプレイの特徴を認識する機能も追加しました。例えば、ヒンジ付きのデバイスで画面の一部が遮られている場合、自動的にコンテンツをどちらかの画面に配置します。
ロックモードも導入しました。ロックモードでは、ペインが重なったときのスワイプ動作をコントロールできます(プログラムによる切替もサポートされます)。例えば、ユーザーがスワイプで空のペインに移動するのを防ぐために、リストのアイテムをクリックしてそのペインの情報を読み込ませ、スワイプでリストに戻れるようにすることができます。2 つのビューを横並びで表示する大きさがある折りたたみ式デバイスやタブレットでは、ロックモードは無視されます。
垂直ナビゲーション レールは、機能的にはボトム ナビゲーションと同等で、より大きな画面のナビゲーションの使用感を改善し、UI のサイズを調整する時に、NavRail が指が届く範囲内に配置することをサポートします。スマートフォンは下向きに持つユーザーが多いですが、タブレットなどより大きいサイズのデバイスは横向きに持つことが多いからです。
例えば、縦スクロールが重要なアプリの場合に、NavRai lが役立ちます。このような場合、ナビゲーション バーが下部にあると表示できるコンテンツの量が減ってしまいます。特に、タブレット デバイスを横向きに使っている場合に、より顕著になります。
他にも、複数のコンポーネントをアップデートしました。アプリを大画面対応するときの最大の落とし穴の 1 つは、UI要素が画面全体に引き伸ばされることです。これを防ぐために、この問題が最も多く発生する要素、例えば下のような要素にデフォルトのmax-width を追加しました。
今後、他の要素にも同じ対応を行う予定です。これらの変更により、独特のデフォルトが提供され、アプリを大画面デバイス対応にし、アプリのレイアウトが崩れないようにサポートします。追加設定は必要ありません。コンポーネントのサイズ制限に関する詳細は、マテリアル デザイン ガイドラインをご覧ください。
UI のサイズ調整をサポートするコンポーネントのアップデートだけではなく、これらのデバイスでより良いエクスペリエンスを開発するための WindowManager Jetpack ライブラリを提供しています。このライブラリは、現在アルファ版が公開されており、折りたたみ式デバイスやタブレットをはじめとするさまざまなデバイスタイプに対応する一般的な API サーフェスを提供しています。
WindowManagerを使用すると、折り目やヒンジなどのディスプレイの特徴を検出することができます。また、そのディスプレイ機能がアプリにどのような影響を与えるかについての情報も提供されるので、最適なエクスペリエンスを生み出すことができます。例えば、ユーザーが動画を見ているときにデバイスがテーブルトップ モードに折り畳まれた場合、折りたたみ式デバイスの状態変化に反応します。
WindowManager では、API レベル 14 以降の下位互換性のある方法で、現在および最大の WindowMetrics 情報を取得する便利なメソッドもいくつか提供します。
アプリは、各デバイスに適切にコンテンツを表示するために、画面またはディスプレイのサイズを決定する必要があります。WindowMetrics API を導入したため、ディスプレイ サイズに関連する多くのメソッドが非推奨となりました。下位互換性のある代替手段として、Window Manager Jetpack ライブラリを使用する必要があります。
Android 10 では、「トップの再開アプリ」が 1 つになり、複数の再開アプリを同時に実行することが可能になりました。ほとんどのアプリケーションは、アップデートの必要なくこの変更の恩恵を受けます。ただし、マイクやカメラなどの排他的なリソースを使用しているアプリケーションは例外です。詳細については、以前のブログ記事(英語)をご覧ください。
アプリを大画面に最適化することで、ユーザー エクスペリエンスが改善され、ビジネスの成果につなげることができます。Google Play では、大画面での利用機会を活用するアプリが増えています。例えば、Google Duo は、タブレットと折りたたみ式デバイスのサポートを実装してユーザー エクスペリエンスを向上させ、アプリの評価とユーザー エンゲージメントの向上に繋がりました。
Google Duo の折りたたみ式デバイス対応最適化エクスペリエンス(Samsung Galaxy Z Fold2 など)
Google Duo のユーザー エクスペリエンスの向上に加えて、多くのアプリでアダプティブ レイアウトを採用し、大画面や折りたたみ式デバイスでの利用が可能になりました。
折りたたみ式デバイスおよび大画面デバイスの詳細については、以下の関連情報も併せてご覧ください。
この記事は Modern Android Development チーム による Android Developers Blog の記事 "Android @ Google I/O: 3 things to know in Modern Android Development" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
※日本語字幕に対応しています。ぜひ切り替えてご覧ください。
ここ数か月間で、いくつかの Jetpack ライブラリが安定版やベータ版に到達したり、アルファ版でリリースされています。主なものをご紹介します。
新機能についての詳細は、I/Oの他のセッション What's new in Jetpack、Using Jetpack libraries in Compose をご覧ください。また、Macrobenchmark の詳細については、 Measuring Jank and Startup with Macrobenchmark をご覧ください。すべての動画が日本語字幕に対応しています。
※日本語字幕に対応しています。
Android Studio Arctic Fox が提供するさまざまなインスペクターを使うと、アプリのデバッグが簡単になります。バックグラウンド作業では、Background Task Inspector を使うと WorkManager のワーカーの状態を把握できます。UI 用の Layout Inspector は、Android ビューと Compose の両方に対応しています。データベースのデバッグには、Database Inspector を利用できます。
実際のインスペクターを見てみたい方は、 What’s new in Android development tools セッションをご覧ください。
私たちは、ツールから API まで、Android における Kotlin をあらゆるレベルで改善し続け、さまざまな学習方法を提供しています。現在アルファ版の Kotlin Symbol Processing(KSP)は、KAPT より最大 2 倍高速に実行できる簡潔なコンパイラ プラグイン API です。私たちは、JetBrains と連携して IDE のパフォーマンスの問題に対処しています。その結果、自動インポート候補の表示が最大 20 倍高速になりました。また、DataBinding に StateFlow のサポートを追加し、UI で DataBinding を使わずに Flow を監視する新しい API を追加しました。すべての Kotlin の改善点は、 State of Kotlin on Android セッションでご紹介しています。
Modern Android Development(最先端の Android 開発)に関連する、今年のすべての Google I/O セッションは、こちらのプレイリストからご覧ください。
Reviewed by Hidenori Fujii - Google Play Developer Marketing APAC
この記事は Jon Markoff、Sean Smith による Android Developers Blog の記事 "Introducing Security By Design" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
アプリ開発のどの段階でセキュリティ対策を実装すべきか悩まれたことはありませんか?セキュリティをアプリ開発のライフサイクルに組み込んでおくと、たくさんの時間と費用、リスクを削減できます。Google Play の技術情報をオンラインで学習できる Google Play アカデミーで公開している「安全性を重視した設計」コースでは、デベロッパーがセキュリティの脅威を特定し、緩和して、先回りで保護できるための知識を習得できます。
Google Play を含む Android エコシステムには、デベロッパーやユーザーを保護するための多くのセキュリティ機能が組み込まれています。 「アプリのセキュリティに関するベスト プラクティスの概要 」コースは、これらの保護を一歩進めて、アプリに組み込まれた追加のセキュリティ機能を活用できるような内容になっています。たとえば、Jetpack Security は、デベロッパーがデータを適切に暗号化し、Files や SharedPreferences を暗号化するための安全でよく知られたアルゴリズムのみを提供します。root 化されたデバイスや、危険なデバイスを通じて、悪意のある人があなたのアプリを認可されていない方法で使用する可能性を懸念していませんか?SafetyNet Attestation API を使うと、危険な可能性がある使用パターンを特定することができます。特定できる使用パターンは、一般的に見られるいくつかの設計上の脆弱性で、たとえば、ファイル ストレージの共有や不適切な使用、安全でないプロトコルの使用、アクティビティなどのコンポーネントを保護しないことなどです。このコースでは、リリース後もアプリの安全を保つためのアプリのテスト方法についても解説しています。さらに、脆弱性開示プログラム(VDP)を設定してセキュリティ研究者に協力を求めることもできます。
「セキュリティ開発ライフサイクルの概要」コースでは、セキュリティ開発ライフサイクル(SDL)を採用して開発プロセスの各ステージにセキュリティを組み込む方法を学ぶことができます。SDL は業界基準のプロセスです。このコースでは、プログラムの設定の基礎、経営陣の協力を得る方法、開発ライフサイクルへの組み込み方について学習します。
また、同じくセキュリティ開発ライフサイクルの一部である脅威のモデリングについては、脅威の特定、分類、対処を行うために、攻撃者の視点で考えることを学習します。開発の設計フェーズの早い段階でこれを行うことで、はるかに少ない費用で潜在的な脅威を特定し、それを緩和する方法について計画し、ユーザーにとってのプロダクトの安全性を高めることができます。
アプリのセキュリティ強化は終わることのないプロセスです。ぜひ、「安全性を重視した設計」コースを受講してください。いくつかのミニコースを通じて、アプリ開発ライフサイクルにセキュリティを組み込む方法、潜在的な脅威をモデリングする方法、セキュリティのベスト プラクティスをアプリに組み込む方法、そして潜在的な設計の落とし穴を回避する方法を習得しましょう。
Google Play は、ゲーム業界で働く女性のサポートをしたいと考えています。そこで、2021 年 7 月 2 日に ゲーム業界で働く女性を対象に「自分が変われば周りも変わる」をテーマにしたオンライン イベント Women in Gaming 2021 を開催します。
第 2 回目となる今回のイベントは、二部構成で開催します。第 1 部では、ゲーム業界、IT 業界の第一線で活躍されている女性リーダーをお招きし、ゲーム業界での働き方や新しいゲーム市場への考察を深めるパネル トークや質疑応答、第 2 部では、Google のグローバルでの取り組みの一環である「#IamRemarkable」プログラムとのコラボレーションにより、さらにインタラクティブなワークショップを行う予定です。
性別に左右されずゲーム業界で女性が活躍できる環境を作りを目指して、Google Play が主催で不定期に開催しているイベントです。ゲーム業界での働き方や新しいゲーム市場への考察を深めるほか、Google の担当者からは Google の多様性を高める活動について、また、誰もが活躍できる社会を目指す取り組みについてお話しします。
2 人の Google 社員、Anna Vainer と Anna Zapesochini によって立ち上げられたワークショップを中心としたプログラムです。当初は女性に特化した取り組みで、女性が自分の仕事の実績をオープンに話せるように後押しをする目的でスタートしました。しかしながら、こういった問題に直面しているのは女性に限らないことに着目し、女性以外でも、あらゆる過小評価されているグループ属する人々が、職場をはじめとするあらゆる場所での自分の実績をオープンに語り、「謙虚であるべき」という社会的通念やガラスの天井を打ち破れるようにサポートすることを目指しています。
イベント名 : Women in Gaming 2021開催日時 : 2021 年 7 月 2 日 10 時 00 分 - 12 時 30 分開催形式 : オンライン ウェビナー対象 : ゲーム業界、または関連業界で業務をする女性、または興味のある女性 。なお、男性の参加も歓迎です
※開始 10 分前から入場可能です
※登壇者、内容は変更される場合がありますので、最新情報は Web サイトでご確認ください。
こちらのイベントページよりご登録ください。第 1 部への参加は、当日でも可能です。第 2 部の「#IamRemarkable」ワークショップは、参加者数に制限を設けております。先着順となりますので、必ず事前にご登録ください。
Posted by Rui Kawada - Google Play Partnerships, Games
作品の革新性、独創性、面白さで成功を目指すインディーゲーム 開発者の皆さまを応援する Google Play | Indie Games Festival 2021 の応募登録を本日よりスタートしました。詳細なスケジュールと応募条件、ならびに内容についてお知らせします。
本日 2021 年 6 月 1 日より募集を開始し、締め切りは 2021 年 7 月 1 日 17 時 00 分(日本時間)です。この募集期間中に Google Play ストアにおいて正式に対象のゲームを公開している必要があります。
2021 年 6 月21 日更新:さらに多くの方々にご応募頂けるよう、オープンベータ版のゲームも応募可能になりました。
今年は、新たに学生部門を設けました。13 歳以上の学生の方であれば、応募可能ですので、ゲームを開発している学生の方は、ぜひご応募ください!
2021 年 6 月 1 日 参加登録ゲームの募集開始2021 年 7 月 1 日 17 時 00 分 (日本標準時)募集期間終了2021 年 8 月 上旬 トップ 20 発表2021 年 9 月中にオンラインにて ファイナルイベント開催、Top 3 ならびに Top 10 を決定し発表
※オンラインによる Top 20 へのユーザー投票は、本年は実施しません。なお、最新情報は Web サイトでご確認いただけます。
こちらの公式 Web サイトより、募集期間中、早めにご登録ください。なお、本イベントの最新情報、参加規約、ルールについては必ず随時 Web サイトをご確認ください。
9 月中に開催するファイナルイベントはオンラインで実施します。Top 20 タイトルを手がけたデベロッパーによるゲームの紹介を行い、審査員による投票により Top 10、Top 3 を決定します。
※賞品をスケジュールやその他の都合で受け取れない場合、現金やその他の代替品の提供は行いません。また、賞品の第三者への譲渡は認められません。
※「Google Play ストアでの掲載」には、掲載時までにユーザー レビュー が 3.8 以上である必要があります。この条件を満たせないと、掲載がされない場合がありますのでご了承ください。
※詳しくは、Web サイトの大会参加規約をご確認ください。
今年も創意工夫あふれるインディーゲームに出会えることを楽しみにしています。多数のご応募をお待ちしています!
この記事は Greg Hartrell による Android Developers Blog の記事 "Join us for Google for Games Developer Summit 2021" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
昨年、新しくゲームを始めるユーザーが急増し、ゲームに費やされる時間も増加し、プレーヤーが楽しんで遊べる、エンゲージメントが高いゲームを提供することがゲーム デベロッパーにとって今までになく重要になっています。そこで、デベロッパーの皆さんを支援するため、Google のゲームチームが、7 月 12 日・13 日(日本時間 7 月 13 日・14 日)に Google for Games Developer Summit 2021 を開催することをお知らせします。
このイベントでは、 Google のエキスパートが、開発中の新しいゲーム ソリューションについてお話しします。いずれも、すばらしいゲームを開発したり、プレーヤーとつながったり、ビジネスをスケールアップしたりするうえで役立ちます。登録は無料で、すべてのゲーム デベロッパーの皆さんがご参加いただけるオンラインイベントです。参加登録は、g.co/gamedevsummit よりお手続きください。さらに詳しい情報は、今後数週間のうちにお伝えします。
デベロッパー コミュニティの皆さんへ最新のイノベーションを共有できることを楽しみにしています。
この記事は 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_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