この記事は Kateryna Semenova, Rahul Ravikumar, Chris Craik による Android Developers Blog の記事 " Improving App Performance with Baseline Profiles " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
多くのアプリにおいて、アプリのパフォーマンスとユーザー エンゲージメントとの間に相関性があることがわかっています。ユーザーが期待するのは、応答性が高く、読み込みが速いアプリです。起動時間は、アプリのパフォーマンスと品質の重要な指標の 1 つになっています。
私たちのパートナーのいくつかは、アプリの起動を最適化するために、すでに多くの時間とリソースを費やしています。その一例として、Facebook のストーリーをご確認ください。
この記事では、ベースライン プロファイルと、それがどのようにアプリやライブラリのパフォーマンスを改善するかを紹介します。その結果、起動時間が最大 40% 短縮されることもあります。ここでは起動に注目しますが、ベースライン プロファイルはジャンクにも大変有効です。
Android 9 (API レベル 28) では、アプリの起動時間短縮を目的として、Play Cloud に ART 最適化プロファイル (英語) が導入されました。クラウド プロファイルが利用できる場合、アプリのコールド スタートは、さまざまなデバイスで少なくとも平均 15% 高速になることがわかっています。
アプリがインストール後やアップデート後に初めて起動する場合、JIT コンパイルが行われるまでの間、コードはインタープリタ モードで動作します。APK では、Java と Kotlin のコードは dex バイトコードにコンパイルされますが、完全にコンパイルしたアプリの保存や読み込みにかかるコストの関係で、完全にマシンコードにコンパイルされることはありません (Android 6 以降)。アプリのクラスやメソッドのうち、頻繁に使われるものやアプリの起動に使われるものは、プロファイルのファイルに記録されます。そしてデバイスがアイドルモードになると、ART がそのプロファイルに基づいてアプリをコンパイルします。これにより、その後のアプリ起動が高速になります。
Android 9 (API レベル 28) より、Google Play もクラウド プロファイルを提供するようになっています。デバイスでアプリを実行すると、ART が生成したプロファイルが Play Store アプリにアップロードされ、クラウドに集約されます。アプリに対して十分な数のプロファイルがアップロードされると、Play アプリは集約したプロファイルを利用して、その後のインストールを行います。
クラウド プロファイルが利用できる場合、それが大きな効果を発揮してくれますが、アプリをインストールするときに常に利用できるとは限りません。通常、プロファイルの収集と集約には数日かかるため、多くのアプリで毎週アップデートが行われると、この点が問題になります。クラウド プロファイルが利用できるようになる前に、多くのユーザーがアップデートをインストールすることになるからです。そこで、Google の Android チームは、プロファイルが用意できるまでの時間を短縮する別の方法を探し始めました。
ベースライン プロファイルは、プロファイルを提供する新たなメカニズムであり、Android 7 (API レベル 24) 以降で利用できます。ベースライン プロファイルは、Android Gradle プラグインが生成する ART プロファイルです。人間が読むことができるプロファイル形式になっており、アプリやライブラリによって提供されます。たとえば、次のようなものです。
HSPLandroidx/compose/runtime/ComposerImpl;->updateValue(Ljava/lang/Object;)VHSPLandroidx/compose/runtime/ComposerImpl;->updatedNodeCount(I)IHLandroidx/compose/runtime/ComposerImpl;->validateNodeExpected()VPLandroidx/compose/runtime/CompositionImpl;->applyChanges()VHLandroidx/compose/runtime/ComposerKt;->findLocation(Ljava/util/List;I)I
HSPLandroidx/compose/runtime/ComposerImpl;->updateValue(Ljava/lang/Object;)V
HSPLandroidx/compose/runtime/ComposerImpl;->updatedNodeCount(I)I
HLandroidx/compose/runtime/ComposerImpl;->validateNodeExpected()V
PLandroidx/compose/runtime/CompositionImpl;->applyChanges()V
HLandroidx/compose/runtime/ComposerKt;->findLocation(Ljava/util/List;I)I
Compose ライブラリの例
バイナリのプロファイルは、APK のアセット ディレクトリの特定の場所 (assets/dexopt/baseline.prof )に格納されます。
ベースライン プロファイルは、ビルド時に作成され、APK の一部として Play に提供されます。そして、ユーザーがアプリをダウンロードするときに、Play からユーザーに送信されます。クラウド プロファイルがまだ利用できない場合、ベースライン プロファイルが ART クラウド プロファイル パイプラインの足りない部分を補います。クラウド プロファイルが利用できる場合、ベースライン プロファイルは自動的にクラウド プロファイルと結合されます。
ベースライン プロファイルの作成からエンドユーザーへの配信までのワークフローを示した図
ベースライン プロファイルの特に大きなメリットは、ローカルで開発や評価が行える点です。そのため、デベロッパーは実際にエンドユーザーが体験するパフォーマンスの向上を確認できます。また、クラウド プロファイルは Android 9 以降でしか利用できませんが、ベースライン プロファイルはそれよりも古いバージョンの Android (7 以降) でもサポートされています。
2021 年の前半に、Google マップのリリース サイクルが 2 週間から 1 週間に変更されました。アップデートの頻度が高くなるということは、ローカルの作成済みプロファイルがより頻繁に破棄され、Play クラウド プロファイルが存在しないために起動が遅くなるユーザーが増えるということでもあります。しかし、ベースライン プロファイルを使うことで、Google マップの起動時間は平均 30% 短縮され、それに伴って検索が 2.4% 増加しました。このように既に定着したアプリにとっても、非常に大きな成果です。
ライブラリに含まれるコードも、アプリのコードと同じです。デフォルトでは完全にコンパイルされないので、起動時のクリティカル パスで大量の処理を行う場合、問題につながる可能性があります。
Jetpack Compose は、Android システム イメージには含まれない UI ライブラリです。そのため、多くの Android View ツールキットのコードとは異なり、インストール時に完全にコンパイルされることはありません。そのため、パフォーマンスの問題が発生することがありました。特にそれが顕著だったのが、最初の数回のコールド スタート時です。
この問題を解決するため、Compose はプロファイル インストーラを利用します。これがベースライン プロファイルのルールを提供してくれるので、Compose アプリの起動時間やジャンクが減少します。
Google Play ストアの検索結果ページは、Compose を使って書き直されています。Compose からベースライン プロファイル ルールを取り込んだ後では、イメージを含む最初の検索結果ページを表示するまでの時間が最大 40% 短縮されました。
Android チームも、関連する AndroidX ライブラリにベースライン プロファイルを追加しました。これは、対象のライブラリを使うすべての Android アプリにメリットがあります。Constraint Layout では、プロファイルのルールを提供 (英語) することで、アニメーションのフレーム時間が 1 ミリ秒以上短縮されました。
ベースライン プロファイルを含めると、アプリやライブラリのデベロッパーすべてがメリットを得られます。理想的な方法は、特に重要なユーザー操作について、デベロッパーが複数のプロファイルを作成することです。それにより、クラウド プロファイルが利用できるかどうかによらず、常にその操作のパフォーマンスが高速になります。アプリ デベロッパーとライブラリ デベロッパー向けのベースライン プロファイルの設定方法は、詳細なガイドをご覧ください。
すぐにはアプリのベースライン プロファイルを作成できないという方でも、依存関係を更新することで、ベースライン プロファイルによるメリットを享受できます。Android Gradle Plugin 7.1.0-alpha05 以降でビルドすれば、ライブラリ (Jetpack など) が提供するベースライン プロファイルを APK に含めることができます。Google Play は、インストール時にそのプロファイルを使ってアプリをコンパイルします。プロファイルの追加は、アプリのビルドの一環として行うことができます。
忘れずに改善の測定を行うようにしましょう。生成されたプロファイルを使ってローカルで起動を測定するには、こちらの手順に従います。
ぜひフィードバックを共有し、皆さんの体験をお知らせください! (英語)
この記事は Florina Muntenescu による Android Developers Blog の記事 " Jetpack Compose 1.1 is now stable! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
私たちは、Android の最新ネイティブ UI ツールキット、Jetpack Compose のロードマップを実現する作業を続けており、2022 年 2 月 9 日にバージョン 1.1 をリリースしました。今回のリリースには、フォーカス処理の向上、タッチ ターゲットのサイズ調整、ImageVector のキャッシュ、Android 12 のストレッチ オーバースクロールのサポートなどの新機能が含まれています。さらに、Compose 1.1 では、これまで試験運用版だったたくさんの API が安定版になっているほか、より新しいバージョンの Kotlin もサポートされています。すでにサンプル、Codelab、Accompanist ライブラリもアップデートしており、Compose 1.1 と合わせて利用できるようになっています。
Compose 1.1 に ImageVector のキャッシュ機能を導入し、パフォーマンスを大幅に向上させています。painterResource API にキャッシュ機構を追加しており、解析した ImageVector のすべてのインスタンスを、与えられたリソース ID やテーマと合わせてキャッシュできるようになっています。このキャッシュは、構成が変わると無効になります。
Compose 1.0 と比較した場合、マテリアル コンポーネントのレイアウトでは、マテリアルのアクセシビリティ ガイドライン(英語)に記載されているタッチ ターゲット サイズ(英語)を満たすようにレイアウト領域が拡大されます。たとえば、RadioButton のタッチ ターゲットは、最小サイズの 48x48 dp に拡大されます。RadioButton のサイズをそれ以下に設定した場合も同様です。これにより、Compose のマテリアルとマテリアル デザイン コンポーネントの動作が一致し、ビューと Compose が共存しても、動作の一貫性が保たれます。また、この変更により、Compose のマテリアル コンポーネントを使って UI を作成すれば、タッチ ターゲットのアクセシビリティ最低要件が確実に満たされるようになります。
この変更によって既存のレイアウト ロジックが壊れる場合は、LocalMinimumTouchTargetEnforcement (英語) を false に設定することで、この動作を無効化できます。ただし、アプリのユーザビリティが低下する可能性があることを認識したうえで、慎重に利用するようにしてください。
RadioButton のタッチ ターゲットの更新
左 : Compose 1.0、右 : Compose 1.1
いくつかの API が試験運用版から安定版になっています。主なものを紹介します。 (以下、リンク先はすべて英語)
Compose に新機能を導入する作業も続いています。いくつかの主な機能を紹介します。
@OptIn (英語) を使うと、新しい API を試すことができます。ぜひフィードバックをお願いします!
注 : Compose 1.1 を使うには、Kotlin 1.6.10 が必要です。詳しくは、Compose と Kotlin の互換性マップをご覧ください。
次に登場するのは何でしょうか。現在検討中または作業中の機能は、更新版のロードマップで確認できます。たとえば、遅延項目アニメーション、ダウンロード可能フォント、移動可能コンテンツなどです。
Jetpack Compose は安定版で、本番環境で利用できます。また、要望が寄せられた機能を追加する作業も続いています。すでに多くのアプリで Jetpack Compose が本番環境として使われ始めているのを見て、とてもうれしく思っています。皆さんが開発したアプリを見るのが、待ち遠しくてたまりません。
アルファ版やベータ版を通して Issue Tracker (英語) にバグレポートや機能リクエストをお送りいただき、大変感謝しています。Compose の改善や、皆さんに必要な API を作るうえで役立っています。Compose をよりよいものにするために、今後もフィードバックをお願いします!
Compose をお楽しみください!
この記事は Madan Ankapura による Android Developers Blog の記事 " Building apps for Android Automotive OS " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2022 年 1 月 27 日、Car App Library のバージョン 1.2 ベータ版が公開されたことをお知らせします。これにより、アプリ デベロッパーの皆さんは、Android Automotive OS 向けにナビゲーション、駐車場、充電スポットのアプリ開発を始めることができるようになります。
現在、デベロッパーの皆さんは、これらのカテゴリのアプリについて、Automotive OS エミュレータを使って構築とテストを始めることができます。Android Automotive OS と Android Auto の両方が対象となります。V1.2 ベータ版でのすべての変更点のリストは、リリースノートをご覧ください。自動車用のアプリ開発を始めるには、最新版のデベロッパー ドキュメント、自動車向けアプリの品質ガイドライン、デザイン ガイドライン (英語) をご覧ください。
以前 (英語) お知らせしましたが、Polestar 2 や Volvo の自動車を運転している方は、Google グループに参加し、Google Play ストアでご自分の Gmail アカウントを使って各アプリのベータ版をオプトインすると、充電スポット(ChargePoint、PlugShare)、駐車場(Spothero、Parkwhiz)、ナビゲーション(Flitsmeister、Sygic)のアプリをダウンロードできます。これらのアプリは、Car App Library を使って開発されています。
Android Automotive OS 上の Car App Library アプリは、各自動車の他のエクスペリエンスと一貫性を保つように自動的にレンダリングされます。デベロッパーがなんらかの作業を追加で行う必要はありません。次に例を示します。
Polestar 2
Volvo
Polestar 2 の設定、PlugShare でラベル付きのオン / オフ スイッチを表示
Volvo の設定、PlugShare でスライディング スイッチを表示
Polestar 2 での SpotHero のログイン画面
Volvo での SpotHero のログイン画面
Android Automotive OS でのアプリのカスタマイズ例
ナビゲーション以外では、ライドシェアのドライバは車の中で長い時間を過ごすため、車の画面でライドシェア関連のアプリを安全に使えるようになれば、メリットになります。今後数か月のうちに、Lyft や Kakao Mobility のドライバ向けアプリを車内で体験できるように、両社と連携して作業を進めています。
GPS マップが表示された車の画面のイメージと Lyft のロゴ
もう 1 つ、うれしいお知らせがあります。すべての有名スポットアプリを含めるように、サポートを拡大しているところです。これにより、充電スポットや駐車場だけでなく、観光名所などをマップ上で見つけたり、探したりするほか、場合によってはその場所へナビゲーションできるアプリを実現できます。早期アクセス パートナーとして、MochiMochi、Fuelio、Prezzi Benzina、NAVITIME JAPAN と連携しています。
今後の早期アクセスプログラムに参加したい方は、こちらのフォーム (英語) から登録してください。g.co/androidforcars にアクセスして、Android for Cars App Library をさっそく使ってみてください。
この記事は Dave Burke による Android Developers Blog の記事 " The first developer preview of Android 13 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2022 年 2 月 10 日、Android 13 デベロッパー プレビュー 1 を公開しました。本日は、Android の次期リリースの概要を初めてお伝えします。Android 13 では、プライバシーとセキュリティ、デベロッパーの生産性という重要なテーマに取り組み続けます。また、12L で行った最新アップデートをベースとして、現在使われている 2 億 5000 万台以上の大画面 Android デバイスのメリットを活用していただけるようサポートします。
これは、Android 13 の始まりにすぎません。今後リリースに向けて作業を進める中で、さらに多くのことを共有する予定です。以下、新機能の概要について説明します。Pixel 向けのダウンロード (英語) やリリース スケジュール (英語) の詳細については、Android 13 デベロッパー サイト (英語) をご覧ください。いつものように、機能を最終リリースに含めるためには、早い段階でフィードバックを得ることが不可欠です。皆さんの感想を聞くのを楽しみにしています。そして、Android を誰もが使えるプラットフォームにするために、引き続き協力をお願いいたします!
ユーザーは、重要な個人情報や機密情報を安心して預けることができる OS やアプリを求めています。プライバシーは Android の製品理念の中核です。Android 13 では、デバイスで安全な環境を提供し、ユーザーが制御できることを増やす取り組みを通して、あらゆる人のために高品質で責任あるプラットフォームを構築することに主眼を置いています。2022 年 2 月 10 日 のリリースでは、ユーザーが写真や動画を安全にアプリと共有できる写真選択や、アプリが位置情報のパーミッションを取得する必要性を一層少なくするための新しい Wi-Fi パーミッションを導入します。新しい API を試し、変更によってアプリが受ける影響をテストしてみることをお勧めします。
写真選択と API - 写真や動画に関するユーザーのプライバシーを守るため、Android 13 にシステムレベルで写真選択機能を追加します。これは、ユーザーにとって、ローカルとクラウドベースの写真の両方を安全に共有する標準的で最適な方法になります。長年にわたって Android に搭載されているドキュメント選択機能を使うことで、デバイス上のすべてのメディア ファイルを参照するパーミッションを必要とせず、特定のドキュメントをアプリと共有できます。今回の写真選択では、この機能を拡張し、写真や動画を選択する便利な専用機能を追加します。アプリは、写真選択 API (英語) を使って共有された写真や動画にアクセスします。デバイス上のすべてのメディア ファイルを参照するパーミッションは必要ありません。Google Play システム アップデートを通じて、この写真選択をさらに多くの Android ユーザーに提供したいと考えています。Android 11 以降を実行するデバイス (Go デバイスは除く) を対象に、MediaProvider モジュールのアップデートとして提供する予定です。ぜひ写真選択 API を試してみて、フィードバックをお知らせください (英語) !
写真選択を使うと、一貫性のある安全な方法で、
特定の写真や動画へのアクセス権をアプリに与えることができる
ニアバイ デバイスの Wi-Fi パーミッション - Android 13 では、近くにあるアクセス ポイントへの Wi-Fi 接続を管理するアプリに対して、NEARBY_WIFI_DEVICES (英語) ランタイム パーミッション(NEARBY_DEVICES パーミッション グループの一部)を導入します。この新しいパーミッションは、多くの一般的な Wi-Fi API (英語) を呼び出すアプリに必要です。これを持つアプリは、位置情報のパーミッションがなくても、Wi-Fi で近くのデバイスを検出したり、それと接続したりできます。これまで、近くの Wi-Fi デバイスと接続する必要があり、デバイスの位置情報は必要としないアプリにとって、位置情報のパーミッション要件は高いハードルでした。Android 13 をターゲットにするアプリでは、そうする代わりに、NEARBY_WIFI_DEVICES パーミッションと “neverForLocation” フラグ (英語) をリクエストできるようになります。これにより、デベロッパーの手間を減らしつつ、プライバシー フレンドリーなアプリ設計が推進されます。詳しくはこちら (英語) をご覧ください。
Android 13 では、デベロッパーの生産性を向上させる新機能やツールも導入されます。数十億台のデバイスで動作する美しいアプリを作る皆さんをサポートすることは、私たちの中核となるミッションの 1 つです。その点は、Android 13 の仕組みであろうと、愛されている Kotlin 言語や Jetpack のこだわりがある API をはじめとする最先端の Android 開発用のツールであろうと変わりません。皆さんの生産性を上げることで、開発コストを下げ、皆さんがこれからもすばらしいエクスペリエンスの開発に集中できるようにしたいと考えています。以下では、2022 年 2 月 10 日のリリースに含まれている新機能の一部を紹介します。
クイック設定配置 API - 通知シェードのクイック設定は、ユーザーがアプリから離れずに設定を変更したり、すぐにアクションを実行したりできる便利な方法です。カスタムタイル (英語) を提供するアプリのために、ユーザーが簡単にタイルを見つけてクイック設定に追加できるようにします。新しいタイル配置 API (英語) を使うと、カスタムタイルをアクティブなクイック設定タイルに直接追加するプロンプトをアプリから表示できます。新しいシステム ダイアログを使うと、わざわざクイック設定に移動してタイルを追加しなくても、アプリを離れずに 1 つの手順でタイルを追加できます。
テーマ対応アプリアイコン - Android 13 では、Material You のダイナミック カラーを Google アプリ以外にも拡大し、すべてのアプリアイコンで、壁紙などのテーマのプリファレンスの色合いを引き継いだアイコンをオプトインできるようにします。アプリで必要なのは、モノクロのアプリアイコン (英語) 通知ドローアブルなど) を提供し、アダプティブ アイコンの XML を微調整することだけです。オプトインしたユーザーに一貫性のあるエクスペリエンスを提供できるよう、すべてのデベロッパーの皆さんには、互換性のあるアイコンを提供することをお勧めします。テーマ対応アプリアイコンは、まず Pixel デバイスでサポートされます。現在、パートナーのデバイス メーカーと連携して、対応デバイスを増やす作業を進めています。詳しくはこちら (英語) をご覧ください。
アプリごとの言語設定 - アプリによっては、多言語ユーザーのニーズを満たすため、ユーザーがシステム言語とは異なる言語を選べるようになっています。そのようなアプリでは、新しいプラットフォーム API (英語) を呼び出して、ユーザーの優先言語の設定や取得を行えるようになります。これにより、アプリのランタイム言語を設定する際のボイラープレート コードを減らし、互換性を向上させることができます。さらに互換性を向上させるため、同様の API を Jetpack ライブラリにも追加する予定です。詳しくはこちら (英語) をご覧ください。
ハイフネーションの高速化 - ハイフネーションを行うと、折り返されたテキストが読みやすくなり、UI のアダプティブ性が増します。Android 13 では、ハイフネーションのパフォーマンスを最適化して 200% 近く向上させ、TextView で有効化してもレンダリング パフォーマンスにほとんど影響を与えなくなっています。ハイフネーションを高速化するには、setHyphenationFrequency() (英語) で、新しい頻度 fullFast (英語) または normalFast (英語) を使います。ぜひハイフネーションの高速化をお試しいただき、感想をお聞かせください!
プログラマブル シェーダー - Android 13 では、プログラム可能な RuntimeShader (英語) オブジェクトがサポートされます。このオブジェクトの動作は、Android Graphics Shading Language (AGSL) で定義できます。AGSL は、構文は GLSL とほぼ同じですが、Android レンダリング エンジンの内部で動作して、Android キャンバスの描画やビュー コンテンツのフィルタリングをカスタマイズします。Android のリップル エフェクト、ぼかし、ストレッチ オーバースクロールは、内部的にこのシェーダーを使って実装しています。Android 13 では、皆さんのアプリでも同じような高度なエフェクトを作れるようになります。
AGSL アニメーション シェーダー
元になっているのはこちらの GLSL シェーダー
OpenJDK 11 アップデート - Android 13 では、Android のコア ライブラリを刷新して OpenJDK 11 LTS リリースに合わせる作業を始めています。これには、ライブラリのアップデートと、アプリおよびプラットフォーム デベロッパー向けの Java 11 プログラミング言語のサポートの両方が含まれます。また、Google Play システム アップデートにより、さらに多くのデバイスにコア ライブラリの変更を提供することも計画しています。このアップデートは、Android 12 以降を実行するデバイスを対象に、ART モジュール アップデートの一環として行う予定です。詳しくはこちら (英語) をご覧ください。
新しいバージョンのプラットフォームをリリースするたびに、アプリの互換性を優先し、迅速かつスムーズにアップデートできるように作業を行っています。皆さんが時間に余裕を持てるよう、Android 13 ではアプリに関連する変更のほとんどがオプトイン方式になっています。また、短時間で対応できるように、ツールやプロセスをアップデートしています。
Google Play を経由した Android アップデートの促進 - Android 13 では、デバイスを問わず、一貫性のある安全な環境をアプリに提供するため、また新機能をユーザーに配信するため、Google Play システム アップデート (Project Mainline) 英語) への注力を拡大し続けます。今では、写真選択や OpenJDK 11 などの新機能を、既存モジュールのアップデートという形で古いバージョンの Android ユーザーに直接プッシュできます。Bluetooth や超広帯域無線 (UWB) などの新モジュールも追加され、Android でコア機能をアップデートできる範囲はさらに広がっています。
タブレット、折りたたみ式、Chromebook 向けの最適化 - タブレット、折りたたみ式、Chromebook などの大画面デバイスには勢いがあります。今こそ、アプリをこのようなデバイスに対応させ、どんな画面にも適応できる完全にアダプティブなアプリをデザインしましょう。タブレット向けの最適化ガイドから始めて、大画面向けの開発や折りたたみ式デバイス向けの開発の方法を学ぶことができます。
変更点のテストやデバッグの簡易化 - アプリに影響を与える可能性がある変更点を簡単にオプトインしてテストできるように、今年も多くの変更点を切り替え可能にしています。この切り替えを利用すると、それぞれの変更を開発者向けオプションや adb から強制的に有効化、無効化できます。詳しくはこちら (英語) をご覧ください。
開発者向けオプションでのアプリの互換性切り替え
Platform Stability マイルストーン - アプリの互換性作業を計画する時間を長くとれるように、昨年と同様にかなり早いタイミングで Platform Stability マイルストーンをお知らせします。このマイルストーンでは、最終版の SDK や NDK API だけでなく、内部 API やアプリに関連するシステム動作の最終版を配信します。今年は、2022 年 6 月に Platform Stability に到達することを想定しています。その後、数週間の最終テストの期間を経て、公式リリースを迎える予定です。詳しいリリース スケジュールはこちら (英語) をご覧ください。
デベロッパー プレビューには、Android 13 の機能を試し、アプリをテストしてフィードバック (英語) を提供するために必要なすべてのものが含まれています。タブレットや折りたたみ式でアプリのテストを始める一番簡単な方法は、タブレットまたは折りたたみ式設定の Android Emulator を使うことです。完全な設定手順はこちらにあります。スマートフォンの場合は、システム イメージ (英語) を Pixel 6 Pro、Pixel 6、Pixel 5a 5G、Pixel 5、Pixel 4a(5G)、Pixel 4a、Pixel 4 XL、Pixel 4 のいずれかのデバイスに書き込むと、すぐに始めることができます。Pixel デバイスをお持ちでない方は、Android Studio で 64 ビット システム イメージと Android Emulator を使うことができます。さらに幅広くテストできるように、GSI イメージも公開しています。
セットアップ (英語) の完了後にやるべきことは、以下のとおりです。
プレビュー システム イメージと SDK は、Android 13 のリリース サイクル期間中、定期的にアップデートされる予定です。このプレビューの第 1 弾リリースは、デベロッパーのみを対象としています。日常的な使用やユーザーの使用を想定したものではありません。そのため、手動のダウンロードでのみ利用できます。プレビュー ビルドを手動でインストールすると、今後のプレビューやベータ版の無線 (OTA) アップデートをすべて自動的に受け取ります。詳しくはこちら (英語) をご覧ください。
ベータ版リリースに近づいたら、ユーザーも招待して Android 13 を試していただく予定です。その際には、Android ベータ版プログラムへの登録もオープンします。現在のところ、Android 13 のベータ版はまだ利用できない点に注意してください。
完全な情報は、Android 13 デベロッパー サイト (英語) でご覧いただけます。
Java および OpenJDK は Oracle および、またはその関連会社の商標または登録商標です。
この記事は Manuel Vicente Vivo による Android Developers Blog の記事 " Rebuilding our guide to app architecture " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android アプリのサイズが増大するにつれ、アーキテクチャに従ったコードを設計することが重要になっています。そうすることで、アプリをスケーリングでき、品質や堅牢性を向上させて、テストしやすいものにできるからです。
アプリのアーキテクチャは、アプリのパーツ間の境界や、それぞれのパーツが担うべき責任を定義します。これは、前述のメリットを実現する関心の分離の原則とも一致します。
アプリのアーキテクチャに関する最新のガイダンスがほしいというコミュニティの声に応えて、刷新したアプリ アーキテクチャ ガイドを公開しました。これには、堅牢で高品質なアプリを作るためのベスト プラクティスや推奨アーキテクチャが含まれています。さらに、推奨アーキテクチャのレイヤ、すなわちUI、ドメイン、データの各レイヤについて説明するページもあります。その中で、UI イベントのハンドリング方法などのさらに複雑なトピックを掘り下げています。
Android アプリには、少なくとも次の 2 つのレイヤが必要です。
また、ドメイン レイヤと呼ばれるレイヤを追加し、UI レイヤとデータレイヤとの間のインタラクションの簡素化や再利用を行うこともできます。
典型的なアプリ アーキテクチャを汎用化した図。UI レイヤは、オプションのドメイン レイヤか、アプリケーション データを公開するデータレイヤからアプリケーション データを取得する。
このコンテンツを順番に、そしてどこまで進んだかを把握しつつ利用できるように、学習用の Pathway (英語) を作成しました。この機会を見逃すことなく、すべての内容を学んで認定バッジを取得しましょう。
初心者の方は、アプリのアーキテクチャを採用することによるメリットを理解するところから始め、次にトピックへの最初のアプローチとして、推奨事項に従いましょう。中級および上級のデベロッパーの方は、推奨事項に従い、ニーズに合わせてカスタマイズしましょう。実際に、私たちの調査から、ほとんどのプロのデベロッパーが既にこれらのベスト プラクティスを利用していることがわかっています。
既存のアーキテクチャをアップデートして推奨事項に従うべきか、疑問に思う方もいらっしゃるかもしれません。その答えは否というより、皆さん次第です。現在のアーキテクチャが問題なく機能していれば、それを使い続けてもよいでしょう。しかし、ガイドを読めば、メリットが得られたり、アプリに導入したいと思えたりするパターンが見つかるかもしれません。
今回公開するドキュメントは第一弾で、2022 年中にさらに公開を続ける予定です。ガイドの改善にご協力ください。現在の推奨事項にフィードバックがある方や、他のアーキテクチャ関連トピックを確認したい方は、ドキュメントの Issue Tracker (英語) からお知らせください。
この記事は Maru Ahues Bouza による Android Developers Blog の記事 " Beta 1 Update for 12L feature drop! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
昨年 10 月の Android Dev Summit では、タブレット、折りたたみ式、Chromebook などの大画面デバイスが成長を続けていることをお知らせしました。こういったデバイスで、新しい Jetpack API やツール、ガイドを通して優れたアプリ エクスペリエンスを構築しやすくする取り組みについてもお話ししました。さらに、大画面向けに構築された Android 12 のフィーチャー ドロップである 12L のデベロッパー プレビューについても紹介しました。
12L では、大画面向けのシステム UI を最適化して磨きをかけ、マルチタスクをさらに強力で直感的なものにし、何もしなくても見栄えのよいアプリになるように互換性サポートを改善しています。12L には、いくつかのデベロッパー向け新 API が含まれています。たとえば、空間オーディオやドラッグ&ドロップ関連のユーザー補助の改善などです。
12L の最初のベータ版は昨年 12 月にリリースしました。このフィーチャー ドロップは、今年初めに公開する予定です。皆さんのアプリを対応させるうえで、テストやフィードバックにご利用ください。Android Studio で Android エミュレータを設定すると、新しい大画面機能を試すことができます。12L はスマートフォンにも対応しています。こちらから登録すると、サポート対象の Pixel デバイスに 12L のベータ版 1 をインストールできます。Android 12 ベータ プログラムに引き続き登録している方は、自動的に 12L のアップデートを取得します。Lenovo との連携により、12L は Lenovo Tab P12 Pro タブレットでも試すことができます。利用可能なビルドやサポートに関する詳細は、Lenovo のサイト(英語) をご覧ください。
ベータ版 1 ビルドには、機能やユーザー エクスペリエンスの改善に加え、最新のバグの修正、最適化、2021 年 12 月のセキュリティ パッチが含まれています。デベロッパー向けの機能としては、すでに API は確定しているので、ベータ版 1 には正式版の 12L API(API レベル 32)、アップデートされたビルドツール、テスト用のシステム イメージが含まれています。つまり、アプリで 12L の機能をテストするために必要なものがすべてそろいます。
12L では、通知、クイック設定、ロック画面、概要、ホーム画面など、大画面デバイスの UI を洗練させることに集中的に取り組んでいます。たとえば、600dp 以上の画面では、スペースを有効活用するため、通知シェードやロック画面などのシステム領域で新しい 2 列レイアウトを利用します。
2 列レイアウトでは表示内容が多くなり使いやすさが向上
マルチタスクもさらに強力で直感的なものに進化しています。12L には、大画面用の新しいタスクバーが含まれており、ユーザーは即座にお気に入りのアプリに切り替えたり、ドラッグ&ドロップして分割画面モードに切り替えたりすることができます。なお、Android 12 以降では、アプリがサイズ変更可能かどうかに関係なく、どんなアプリでも分割画面モードで起動できます。分割画面モードでアプリをテストすることを忘れないようにしましょう。
アプリをドラッグ&ドロップして分割画面モードに
さらに、互換性モードの外観と安定性を改善し、レターボックス表示の際のユーザー エクスペリエンスを向上させるとともに、デフォルトでアプリの見栄えがよくなるようにしています。アプリで大画面向けの最適化が済んでいない場合でも、新しいレターボックス表示のテストは行うようにしてください。
大画面向けにアプリを最適化する際に、優れたユーザー エクスペリエンスを簡単に実現できる最新の API やツールをいくつか用意します。
以上の機能の詳しい内容や、その他の API やツールについては、大画面デベロッパー リソースをご覧ください。
12L フィーチャー ドロップは今年始めにデバイスに配信される予定なので、今がアプリを大画面向けに最適化する絶好の機会です。デベロッパーの皆さんには、さまざまなサイズのウィンドウの分割画面モードで、アプリの動作を確認しておくことを強くおすすめします。まだアプリを最適化していない方は、さまざまな画面の向きでどのように表示されるかを確認し、必要に応じて新しい互換性モード関連の変更点を試してみてください。
大画面機能を試してみる一番簡単な方法は、折りたたみ式またはタブレットの設定で Android Emulator を使うことです。こちらにすべての設定手順が記載されているので、ご覧ください。
大画面デバイスに 12L を書き込むこともできるようになっています。Lenovo との連携により、Lenovo Tab P12 Pro でも 12L のプレビュー ビルドを試すことができます。現時点で、Lenovo はデベロッパー プレビュー 1 ビルドを提供しています。今後数週間のうちにアップデートが公開される予定です。利用可能なビルドやサポートなど、完全な情報は Lenovo の 12L プレビュー サイト (英語) をご覧ください。
12L はスマートフォンにも適用されます。小さな画面では大画面機能を確認できませんが、ぜひこのフィーチャー ドロップによる最新の改善点をお試しいただければと思います。サポート対象の Pixel デバイスをこちらから登録すると、最新の 12L ベータ版アップデートを OTA (無線)で受け取ることができます。Android 12 ベータ プログラムに引き続き登録している方は、自動的に 12L アップデートを受け取ります。
12L の詳細やリリース スケジュールは、12L デベロッパー サイトをご覧ください。問題点やリクエストはこちらから報告できます。いつものように、皆さんのフィードバックをお待ちしています!
Reviewed by Tamao Imura - Developer Marketing Manager, Google Play
この記事は Marcel Pintó Biescas による Android Developers Blog の記事 " Announcing Jetpack Glance Alpha for app widgets " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android 12 では、多くの Android ユーザーにとって重要な機能であるアプリ ウィジェットを刷新し、より便利で美しく、そして見つけやすくしています(84% のユーザーが少なくとも 1 つのウィジェットを使っています)。先日、アプリ ウィジェットの構築をさらに容易にするために、Jetpack Glance の最初のアルファ版をリリースしました。Jetpack Glance は、Jetpack Compose のランタイムをベースに作られた新たなフレームワークで、ホーム画面などで利用できるアプリ ウィジェットをすばやく簡単に構築できるように設計されています。
ぜひ試してみて、フィードバックをお寄せください。
Glance は、Jetpack Compose と同じように最新の宣言型 Kotlin API を提供し、美しくレスポンシブなアプリ ウィジェットを少ないコードで実現します。
Glance の “Hello World” ウィジェット サンプル
class GreetingsWidget(private val name: String): GlanceAppWidget() { @Composable override fun Content() { Text(text = "Hello $name") }} class GreetingsWidgetReceiver : GlanceAppWidgetReceiver() { override val glanceAppWidget = GreetingsWidget("Glance")}
class GreetingsWidget(private val name: String): GlanceAppWidget() {
@Composable
override fun Content() {
Text(text = "Hello $name")
}
class GreetingsWidgetReceiver : GlanceAppWidgetReceiver() {
override val glanceAppWidget = GreetingsWidget("Glance")
Glance は、“Glanceables” (一目で把握できる)な操作を作成する Composable の基本セットを提供します。今回はまず、アプリ ウィジェットのコンポーネントを提供しますが、今後さらに追加する予定です。Glance は、Jetpack Compose ランタイムを使って Composable (英語) を実際の RemoteView (英語) に変換し、それをアプリ ウィジェットに表示します。
図: Glance の構造
つまり、Glance を使うには Compose を有効にする必要があります。ランタイム、グラフィック、ユニット UI の各 Compose レイヤーを使用しますが、Jetpack Compose の他の既存の UI 要素を直接使うことはできません。ただし、アプリの状態などのロジックは、Glanceables UI を作成する際に共有できます。
今回の初回リリースでは、アプリ ウィジェットを構築するためのメイン API を導入します。また、既存の RemoteView との相互運用性が提供されます。
以下に、このライブラリが提供する内容の概要をまとめます。
GlanceAppWidget
GlanceAppWidgetReceiver
Box
Row
Column
Text
Button
LazyColumn
Image
Spacer
GlanceModifier
Action
actionStartActivity
actionRunCallback
actionStartService
actionStartBroadcastReceiver
ActionParameters
SizeMode.Single
SizeMode.Exact
SizeMode.Responsive
GlanceStateDefinition
GlanceAppWidget state
LocalContext
LocalState
LocalGlanceId
LocalSize
RemoteViews
AndroidRemoteViews
現在は、デフォルト テーマや Android Studio サポートの強化など、さらなる機能の追加作業を進めています。今後の新規リリースにご期待ください。
注: minSDK は 21 ですが、現在は SDK v23 までの互換性しかサポートしていません。
クイックスタートとして、GitHub のサンプルをご覧ください。Glance は最新の安定版 Android Studio (英語) で動作しますが、Compose のランタイムを使っているので、まず Jetpack Compose ドキュメントの手順に従ってセットアップを行ってください。
また、さらに詳しい説明を見たい方は、AndroidX リポジトリのデモをご覧ください。
ResponsiveAppWidget.kt デモ
アルファ版は API に皆さんの要望を反映させるチャンスなので、フィードバックを通して感想をお寄せください。
ぜひ Glance と Compose を使ってみてください!
この記事は Purnima Kochikar による Android Developers Blog の記事 "Launching Notes from Google Play | A year of evolution" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2021 年 12 月 14 日 (日本時間 15 日) に Notes from Google Play という新しいシリーズがスタートします。年に数回、デベロッパーの皆さんの創造性や皆さんがコミュニティーにもたらしたインパクトを祝福するとともに、重要なインサイトやベスト プラクティスを共有することで、皆さんがインスピレーションを得てより大胆に、より進化し、革新的なアプリやゲームを開発するきっかけを提供できればと考えています。
この 1 年を振り返ると、私たち全員にとって非常に変化の大きな年だったと感じます。そのような先行きが見えない中でも、みなさまの絶え間ない努力と挑戦により、Google Play のエコシステム全体を牽引してくださったことに、深い感謝と感銘を覚えています。皆さんのアプリやゲームは、Android 端末を利用している 25 億人以上の人々が学習し、つながり、リラックスやエクササイズをし、笑い、楽しむことを、さまざまな場面でサポートしてきました。その結果、Google Play の課金で毎月 100 万ドル以上を売り上げているデベロッパーや、月間アクティブユーザー数が 1,000 万人のデベロッパーは、今年 30 %増加しました。
この Notes from Google Play シリーズの初回の投稿では、デベロッパーの皆さんの創造性と絶え間ない努力を称え、その一例として Google Play に深い感動とインスピレーションを与えてくれたデベロッパーの Mohammed Kamara さんを紹介します。深い悲しみを乗り越えて、有色人種の女性のためにより良い世界を作ってくれた Mo さん、ありがとうございます。私たちは、Mo さんの InovCares に対するビジョンを実現するために僅かながらも貢献できたことを、とても光栄に思っています。
InovCares CEO / Founder の Mohamed Kamara さんが、彼の画期的なヘルスケア アプリの背景にあるストーリーについて語っています
また、 Google Play ベスト オブ 2021 と Indie Games Festival の受賞者の方々にも感謝しています。デベロッパーの皆さんがインスピレーションを与えてくれたおかげで、Google Playと Android を進化させることができ、また、デベロッパーの皆さんが素晴らしいアプリやゲームを作りビジネスを成功させることができるように努力し続けることができました。
デベロッパーの皆さんと皆さんの成功に注力した結果、2021 年には、ビジネスモデルの進化や新しい製品機能やツールなど、インパクトのある開発が実現できました。 Google Play では、 2 つの重要な目標に焦点を当てています。皆さんが持続可能なグローバルビジネスを構築し、成長させることを支援すること、そして Android と Google Play のプラットフォームの機能、ツール、エコシステムに投資することで、皆さんがより革新的なアプリやゲームを開発し続けることを可能にすることです。
また、Google Play では、ユーザーの獲得、維持、リピート率を支援するプログラムへの投資を続けています。
Google Play は、デベロッパーの皆さんのクリエイティブなアイデアを優れたアプリやゲームに変換できるように支援することをミッションとし、高品質なアプリやゲームを提供するためのツールとガイドラインを作成しました。以下の 3 つの主要な機能/ガイドラインに注目してください。
このような取り組みのために、主要なインフルエンサーやステークホルダー、業界や政府のリーダーたちが一緒に投資をしてくださり、本当に感激しています。Google Play で最も成功しているデベロッパーたちが、時間と労力を費やして、Indie Games Accelerator を通じてインディー デベロッパーのメンターとなり、指導し、成長させてくれました。韓国やインドなどのスタートアップのエコシステムをサポートするために、政府のリーダーが Google Playと提携を行いました。韓国の ChangGoo プログラムは、Ministry of SMEs and Startups (MSS) と Korea Institute of Startup & Entrepreneurship Development (KISED) とのパートナーシップにより設立され、その一方で、インドの App-scale Academy は Ministry of Electronics and Information Technology (MeitY) とのパートナーシップにより設立されました。皆さんのイノベーションとアプリ エコシステムへのコミットメントに感謝します。
インド全土のスタートアップ企業の成長と開発を支援する Appscale Academy 概要をご覧ください
この 2 年間、皆さんと直接お会いできなかったことがとても残念でした。新型コロナウイルス感染症(COVID-19) という大変な経験を通し、つながりを保つための新しい方法を見つけることができました。皆さんの多くは、バーチャル セッションを通じて、新しい市場機会を学んだり、仕事の未来、ダイバーシティ・エクイティ&インクルージョン、ビジネス促進、グローバル展開戦略などの、さまざまなトピックについて深いオンライン ディスカッションを交わしました。一部の方からは、オンライン イベントの疲れを感じているという声もありましたので、2021 年は、ソート リーダーシップやベストプラクティス、Play Academy の e ラーニングコースなど、ご自身のペースでご利用いただけるコンテンツにも投資しました。また、ストア掲載のためのツールや機能を最大限に活用していただくために、初の認定証も発行しました。
最後になりましたが、次回の連載までの間、お体にお気をつけて良いお年をお迎えください。デベロッパーの皆さんが、Google Play を通してユーザーを喜ばせ、デベロッパーの皆さんのファンを拡大し、ビジネスを成長させるためのパートナーとして見ていただけることを祈っております。
素敵な年末をお過ごしください。
Purnima Kochikar,
Vice President, Google Play Partnerships
今後の記事のアップデートを見逃さないためにも、私 または チームの Twitter をフォローするか、Android の月刊ニュースレターに登録してください。
この記事は Clara Bayarri による Android Developers Blog の記事 "#Android Developer Summit: 3 things to know for Large Screens on Android! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
今年の Android Dev Summit (英語) では、Android の大画面開発 (*日本語字幕は、YouTube の自動字幕機能から日本語を選択してください) 、折りたたみ式デバイスおよびタブレット向けの 12L フィーチャー ドロップ(Android 12 を大画面向けに最適化する一連の機能)、大画面に特化したデベロッパー ツールの改善、Google Play のアップデートなど、多くのアップデートについてお知らせしました。ここでは、知っておくべきことのトップ 3 を紹介します。
*日本語字幕は、YouTube の自動字幕機能から日本語を選択してください
12L の通知やロック画面などのさまざまな画面には、たくさんの洗練された新 UI が含まれており、これによって大画面デバイス上での Android 12 はさらに使いやすくなります。デベロッパーにとって、特に重要な点は次の 3 つです。
新機能の詳細については、大画面と折りたたみ式の新機能を紹介した動画や developer.android.com/12L をご覧ください。
Android は長年にわたって大画面をサポートしてきましたが、アプリの UI を大型フォーム ファクタにスケールアップする際に役立ついくつかの新ツールが発表されました。
以上のすべての項目について詳しく知りたい方は、 Building Android UIs for Any Screen Size(あらゆる画面サイズに対応する Android UI の構築) と Design beautiful apps on foldables and large screens(折りたたみ式や大画面で美しいアプリをデザインする) の動画をご覧ください。また、最新の大画面ガイドや Compose でアダプティブ レイアウトを開発するためのガイドもご確認ください。さらに、アプリでこれを実現するサンプルとして、 Best practices for video apps on foldable devices(折りたたみ式デバイスでの動画アプリのベスト プラクティス) と Spotify Across Screens(さまざまな画面に対応した Spotify) もご覧いただけます。
タブレット、折りたたみ式、Chrome OS の各デバイスのユーザーが最高のアプリを見つけられるように、Google Play にも新たな変更を加え、大画面に最適化されたアプリを推奨するようにします。これにはアプリの品質評価 (英語) のための新しいチェックなどが含まれ、それによって大画面に最適化されたアプリをおすすめしたり、デバイスに最適なアプリを表示するように検索ランキングを更新したりできるようになります。ユーザーが大画面デバイスでのアプリの動作を評価できるように、大画面用のアプリの評価も導入します。
大画面に関連する 2021 年の Android Dev Summit の全セッション動画は、こちらのプレイリスト (*日本語字幕は、YouTube の自動字幕機能から日本語を選択してください) から確認できます。また、ブログ投稿には、大画面関連のすべての発表のリストが掲載されています。
この記事は Sagar Kamdar による Android Developers Blog の記事 " What’s new for Android developers at #AndroidDevSummit’21 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
デベロッパーの皆さんが作成するアプリは、誰も想像できなかったような形で世界の人々の役に立っています。先日 2 日間にわたって開催された Android Dev Summit (英語サイト/動画は日本語字幕あり) では、ユーザーに重きを置き、ニーズを理解して、ユーザーを喜ばせるようなアプリを作るということについてお話ししました。Android Dev Summit の 2 日間は Android の重要なテーマである excellent apps, across devices(デバイスを超える優れたアプリ体験)に向けて開発を行っている皆さんをサポートする内容に焦点を当てました。まずは、生産性を向上させる「最先端の Android 開発」をアップデートし、優れたアプリの開発に集中できるようにすること。そして次に、アプリを拡張して、すべてのフォーム ファクタのデバイスに展開させることです。その大きな一歩として、折りたたみ式デバイスとタブレットを対象として、大画面用に最適化された Android 12 の機能セットである 12L フィーチャー ドロップを提供します。詳しくは後ほど説明します。
優れたアプリの構築をサポートするという点では、開発ツール、API、言語、配布テクノロジーのコレクションである最先端の Android 開発(Modern Android Development、略称 MAD)を拡張しています。MAD が、皆さんの生産性を上げるためのパートナーとなります。そして、MAD のいたるところに、生産性を上げて優れたアプリを作成するたくさんの新機能を追加しています。中でも特に大きなお知らせは、Android のネイティブ UI 開発用の最新ツールキット Jetpack Compose が、Material You とそのまったく新しいデザイン ビジョンに対応したことです。
今年の Google I/O で Android 12 に導入された (英語) Material You は、あらゆるスタイルでパーソナルな体験を提供し、あらゆるニーズに対応して、あらゆる画面に適応することに重点を置いています。最初のアルファ版として、マテリアル デザイン 3 (英語)スタイルのコンポーネントやテーマ (英語) 、さらにはダイナミック カラーなど、 Material You のパーソナライズ機能を提供する Compose Material 3 (英語) をリリースします。また、Jetpack Compose 1.1 の最初のベータ版もリリースします。これには、Android 12 のストレッチ オーバースクロール、タッチターゲットのサイズの改善、遅延レイアウト アニメーションの試験運用版などの機能が含まれています。Jetpack Compose は安定版になっており、本番環境で問題なく利用できます。短時間で簡単にあらゆるフォーム ファクタの Android UI を構築できるように、皆さんが必要とする機能の追加は継続します。Wear OS とホーム画面ウィジェットの作成機能も新たにサポートされています。
Compose 以外にも、Jetpack に要望のあった機能を追加する作業を続けています。Navigation には複数のバックスタックのサポートを追加しました。また、永続化作業の推奨ソリューションである WorkManager が優先ジョブをサポートし、Android 12 のバックグラウンドの制限を扱いやすくしました。Room には自動移行とリレーションのマルチマップを追加し、SharedPreferences に代わって推奨されている DataStore は 1.0 に到達しました。起動時間とフレームのパフォーマンスを測定して改善するツール Macrobenchmark は、簡素化を行ってフレーム タイミングの精度を向上させただけでなく、Android M までの下位互換性も追加しています。
Android のさまざまなフォーム ファクタ向けに開発するうえで役立つアップデートも行いました。さまざまな Android デバイスやフォーム ファクタで動作することは、例えば、Spotify が無数のファンとたくさんのクリエイターをつなぐというミッションを果たすうえでも役立ちました。次の動画をご覧ください。
*日本語字幕あり
大画面に対する需要はますます加速しています。Chrome OS は前年比で 92% 増加し、世界で最も速く成長しているデスクトップ OS になりました。昨年のタブレットの販売代数は 20% 増加し、最も新しく画期的なフォーム ファクタである折りたたみ式の販売台数は 2.5 倍になりました。すべて合わせると、2 億 5000 万台のアクティブな大画面 Android デバイスが存在します。Android はそれにふさわしい OS を提供します。そこで、大きなニュースを発表します。Android 12 で今後提供される予定の、大画面専用のアップデートが含まれるフィーチャー ドロップ、12L のデベロッパー プレビューです。12L では、大画面向けにシステム UI を最適化および洗練し、マルチタスクをさらに強力で直感的なものにするとともに、アプリがすぐに見栄えのよい状態になるように互換性サポートを向上させています。12L デベロッパー プレビュー (英語) に含まれる大画面関連の新機能は、早速本日から試してみることができます。12L の内容と、大画面向けの開発がどのように楽になるかについては、こちらからご覧ください。
多くのデベロッパーが、今年リリースされた Wear OS の最新版向けに便利なアプリを作成しました。Strava、Spotify、Calm などのように、高度で没入感のあるアプリが登場することを期待しています。Jetpack Compose のおかげで、UI の構築ははるかに早く簡単になりました。そこで、Wear OS にも Compose のサポートを追加します。現在、Compose for Wear OS はデベロッパー プレビュー です。新しいサンプルやドキュメントもあるので、始める際の参考にしてください。現在ベータ版の Tiles API は、予測可能な方法で一目で情報にアクセスしたりクイック アクションに使用したりできます。また、Samsung と連携して、ウォッチフェイスのデザインを簡単にする取り組みも進めています。Samsung が作成した Watch Face Studio (英語) を使うと、コーディングなしで独自のウォッチフェイスを作成できます。つまり、見たものが...そのままスマートウォッチから得られます。Wear OS 関連の詳しいニュースは、こちらからご覧ください。
皆さんのビジネス拡大に役立てていただくため、Google Play の機能を強化しました。ユーザーの信頼を高めるため、デベロッパーのプライバシーに関する取り組みを表明できるデータ セーフティ セクションと、本物のアプリがインストールされていることを保証する Play Integrity API を追加しました。さらに、アプリの品質向上に役立つツールや機能の導入も進めています。先日は、99% のデベロッパーでサービス手数料が 15% 以下になるように、プログラムの改定を行いました。詳しい内容は、ブログ投稿 を確認するか、こちらのセッションをご覧ください。(リンク先は英語、動画は日本語字幕あり)
先日、30 以上のテクニカル セッションを公開しました。自分のペースで視聴できるので、こちらからご覧ください (英語、動画は日本語字幕あり)。開催期間中の 2 日間で、たくさんのライブ コンテンツをお届けしましたので、どうぞお楽しみください。#AskAndroid では、最先端の Android 開発、大画面、Material You に対応した Compose などに関する皆さんからの熱い質問を受け付けました。Android を作ったチームに回答してもらうチャンスもありました。さらに当日は、Android Code-Alongs もライブ開催しました。参加者は、Android エキスパートがコードを書く様子を見たり、プログラミング チャレンジに挑戦したり、Jetpack Compose や Compose for Wear OS に関する質問への回答をライブで聞くことができました。こちらからすべてのアジェンダとスケジュールをご覧いただけます。まだの方は、#AndroidDevSummit のコンテンツをお楽しみください!