この記事は プロダクト マネジメントおよび Android デベロッパー担当副社長、Matthew McCullough による Android Developer Blog の記事 " 14 Things to know for Android developers at Google I/O! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Google I/O 2023 では、Google が Google 全体で起きている重要な AI の革新をどのようにもたらしているかお知らせしました。このテクノロジーは Android デベロッパーの作業フローに役立つので、時間を短縮して、ユーザーのために新しい魅力的な体験を作ることに集中できるようになります。ユーザーは大画面やウェアラブルをはじめとして、さまざまな種類の画面をサポートすることを求めているので、時間短縮ツールがますます重要になっています。Google 基調講演とデベロッパー基調講演 (動画/英語 - 日本語字幕あり) では、Android でユーザーに優れた体験を提供するという皆さんのミッションをサポートするさまざまな方法を紹介しました(もちろん、Android 14 の最新ベータ版もお見せしました!)。ここでは、Android デベロッパーの世界で知っておくべき 14 の新しいことについて説明します。
AI の力を日々の生活に活用できるようにするという Google の幅広い取り組みの一環として、AI を活用した会話型エクスペリエンスである Studio Bot を Android Studio に導入します。(* 現時点では、まだ日本向けには未公開) コードの生成、コーディング エラーの修正などに役立つので、生産性を上げることができます。Studio Bot (英語) はまだかなり初期のバージョンであり、質問の答えをさらに改善し、ベスト プラクティスの学習に役立ててもらうための訓練を続けています。使ってみたい方は、Android Studio ブログを読み、最新バージョンの Android Studio をダウンロード (英語) して、ドキュメントをご確認ください (英語) 。
英語で Play ストアの掲載情報を作成する際に、Google のジェネレーティブ AI 技術を使えるようになりました。(*現時点では、英語のみ利用可能) Google Play Console で AI ヘルパーを開き、対象ユーザーや重要なテーマなどを入力するだけで、下書きを作成してくれます。この下書きは、編集することも、破棄することも、そのまま使用することもできます。内容は常に皆さんが確認できるので、審査に提出して Google Play で公開する内容は完全にコントロールできます。
Google は大画面に全力を注いでいます。Pixel には、2 つの新しい Android デバイスとして、Pixel Fold と Pixel Tablet が登場します。また、Android の大画面エコシステムで優れた外観を実現するため、50 以上の Google アプリと、世界中のデベロッパーのさまざまなアプリが最適化されています。このタイミングで、ぜひ対応しましょう。Android Studio Hedgehog カナリア版 3 での新しい Pixel Fold と Pixel Tablet エミュレータ構成や、マテリアル デザイン アップデート (英語) の拡大といったツールの改善、ゲームや創造性アプリのアイデアなどのガイドの改善が行われています。アプリを大画面向けに最適化する際の推奨事項と禁止事項を読み (英語) 、大画面や折りたたみ式を対象に高品質アプリを開発する方法についてのセッションを視聴 (動画/英語 - 日本語字幕あり) して、大画面デバイス向けの最適化を始めましょう。
Wear OS のアクティブ デバイス数は、Wear OS 3 のリリース以降、5 倍に増加しています。今こそ、スマートウォッチ向けに優れたアプリを作るべきときです。それをサポートするものとして、新しいウォッチフェイス形式 (英語) についてお知らせしました。これは Samsung と連携して開発した宣言型 XML 形式で、ウォッチフェイスのマーケットで優れたアイデアを実現する際に役立ちます。また、新しい API もリリースし、タイルでの高度なアニメーションや Wear OS 4 デベロッパー プレビューによる次世代プラットフォーム アップデートをサポートします。最新アップデートの詳細については、ブログを確認 (英語) し、セッションを視聴 (動画/英語 - 日本語字幕あり) してください。また、新しい Wear OS ギャラリー (英語) もご覧ください。
さらに多くのデベロッパーと連携して健康とフィットネス関連の独特なエクスペリエンスをユーザーに提供できるようにするため、ヘルスコネクト エコシステムの 50 以上のアプリと、ヘルスサービスが組み込まれた 100 以上のアプリにより、Android ヘルス関連のサービスを充実させています。この秋にはヘルスコネクトが Android 14 に導入されるので、デバイスの [設定] から、これまで以上に簡単にヘルスデータをアプリ間で直接共有できるようになります。I/O での発表の詳細は、こちらをお読みください (英語) 。使ってみたい方は、ヘルスサービスのドキュメント、ヘルスコネクトのドキュメント、コードサンプルをご覧ください。
自動車向けの作業も広がり続けています。今年は Android Auto が 2 億台の自動車で利用できるようになり、Google が搭載された自動車 (英語) の数は倍増する見込みです。既存の Android アプリを自動車に対応する作業や、動画やゲームなどのまったく新しいエクスペリエンスを自動車向けに開発する作業は、これまで以上に簡単になっています。始めたい方は、自動車向け Android の新機能に関するセッションとデベロッパー ブログ (英語) をご覧ください。
Android TV OS で最高のアプリ エコシステムを実現することに向けて、懸命な取り組みを続けています。Android TV OS で美しく機能的なアプリを開発するための最新 UI フレームワーク、TV 向け Compose についてお知らせします。詳細については、ブログ投稿 (英語) 、デベロッパー ガイド (英語) 、参考デザイン (英語) 、新しい Codelab (英語) 、サンプルコードをご覧ください。また、TV 向け Compose を皆さんのニーズに合わせることができるように、引き続きフィードバックもお送りください。
おなじみの Android 開発パスで、これまで以上に簡単に Google アシスタント連携機能を構築できるようになっています。新しいアプリ アクション テスト ライブラリと Android Studio の Google アシスタント プラグイン(Wear と Auto にも対応)を使えば、簡単にコードを作成し、ユーザー エクスペリエンスをエミュレーションしてユーザーの期待を予測し、Android の主デバイスや補助デバイスにアプリ アクション連携機能をデプロイできます。使ってみたい方は、Android 開発ツールの新機能 (動画/英語 - 日本語字幕あり) セッションと、デベロッパー ドキュメントをご確認ください。
Android コミュニティでは、Android 開発の最新 UI ツールキットである Jetpack Compose の採用数が着実に増加しています。Google Play のトップ 1,000 アプリのうち 24% が Jetpack Compose を使っており、この数は昨年の倍に当たります。さらに多くのサーフェスに Compose を導入するための作業は続いており、TV 向け Compose はアルファ版に、Glance によるホーム画面ウィジェットは現在ベータ版になっています。Google I/O でのお知らせの詳細を確認 (英語) し、Compose を使ってさまざまな画面の UI を開発してみてください。
私たちの開発プラットフォームの中核を成すのが Kotlin プログラミング言語です。Android アプリの Kotlin サポートはますます拡大します。JetBrains と連携して新しい K2 コンパイラを開発し、Android Studio、Android Lint、KSP、Compose などのツールとの連携機能の開発も積極的に進めています。また、Google の大規模な Kotlin コードベースを使って新しいコンパイラとの互換性を検証しています。現在は、Kotlin DSL を使ったビルド スクリプトが推奨となっています。詳細は、Android 向けの Kotlin の新機能に関するセッション (動画/英語 - 日本語字幕あり) をご覧ください。
Android Studio の App Quality Insights を使うと、Firebase Crashlytics の問題レポートに IDE から直接アクセスできます。クリック 1 回でスタック トレースやコードを移動したり、フィルタを使って特に重要な問題のみを表示したり、問題の再現に役立つ詳細レポートを確認したりできます。最新版の Android Studio では、Android Vitals の重要なクラッシュ レポートを確認できるようになります。アプリに SDK やインストルメンテーションを追加する必要はありません。Android Studio のお気に入りの機能のアップデートの詳細については、Android Studio Hedgehog をご覧ください。
ユーザー数と収益を増加する新しい方法など、Google Play の最新情報を確認しましょう。活発でないユーザーなど、細かいユーザー セグメントごとにカスタムのストアの掲載情報を作成できるようになっています。近日中には、特定の Google 広告キャンペーンからのトラフィックにも対応できるようになります。新しい掲載情報グループも利用できるので、複数の掲載情報を簡単に作成したり管理したりできます。アプリ内アイテムの価格を試したり、課金期間ごとに複数の価格を提示できる新しい定期購入機能を活用したりして、収益化戦略を最適化しましょう。以上の最新情報の詳細は、ブログ投稿 (英語) をご覧ください。
新しい Android UI デザインハブ (英語) を確認し、さまざまなフォーム ファクタで魅力的な UI を簡単に構築しましょう。デザインハブは Android でユーザー フレンドリーなインターフェースを作成する方法について包括的に説明したリソースで、ポイント、サンプル、推奨事項と禁止事項、figma スターター キット、UI コードサンプル、アイデア ギャラリーなどが含まれています。
リリースされたばかりの Android 14 ベータ版 2 では、カメラとメディア、プライバシーとセキュリティ、システム UI、デベロッパーの生産性に関するプラットフォーム機能強化が行われています。ヘルスコネクト、Ultra HDR イメージ、予測型「戻る」、ML など、期待の新機能と変更点が満載です。ML Kit で顔メッシュやドキュメント スキャナなどの新しい API がリリースされ、カスタム ML スタックのアクセラレーション サービスが公開ベータ版になっているので、スムーズで低遅延なユーザー エクスペリエンスを提供できます。ベータ版 2 の詳細を学習し、サポート対象のデバイスにベータ版をダウンロードして使ってみてください。エミュレータでアプリをテストすることもできます。
ここで紹介したのは、Android が皆さんをサポートする新しい方法のごく一部でしかありません。Google I/O の Android トラックを忘れずに確認しましょう。Android アプリでパスキーをサポートしてパスワードへの依存を減らす方法や、Android の未来を見据えた開発 (動画/英語 - 日本語字幕あり) など、お勧めのセッションが開催されます。アクティビティの埋め込みについての新しい学習パスウェイ (英語) も公開されているので、タブレット、折りたたみ式、ChromeOS デバイスでアプリを差別化することができます。オンラインで参加する方も、世界中で開催されるいずれかのイベントに直接参加する方も、ぜひすばらしい Google I/O をお楽しみください。提供されたアップデートを使って、皆さんが作成する優れたエクスペリエンスを見るのが楽しみです!
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play
この記事は Google Play、プロダクト マネージャー、Chang Liu と Lidia Gaymond による Android Developers Blog の記事 " Reduce uninstalls for your app with auto-archive " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
ユーザーがアプリをアンインストールする主な理由の 1 つが容量を空けるためであることはご存知でしたか?現在、容量が足りなくなりそうになったデバイスに新しいアプリをインストールしようとするユーザーには、手動でアプリをアンインストールして容量を空けることができるダイアログが表示されます。ただし、ユーザーのすべてのアプリデータを含め、アプリ全体をアンインストールする必要はない場合もあります。
そこで、不必要なアンインストールを減らしつつ、新しいアプリをインストールできるようにするため、自動アーカイブという新機能を導入します。ユーザーが自動アーカイブをオプトインすると、アプリの保存容量の 60% 近くを自動的に解放できます。アプリやユーザーのデータがデバイスから消えることはありません。
自動アーカイブは、アプリを完全にアンインストールすることなくデバイスの領域を解放できる新機能です。ユーザーがオプトインすると、あまり利用されないアプリが部分的にデバイスから削除され、領域が解放されます。ただし、アプリアイコンとユーザー個人のアプリデータは保持されます。もう一度アプリを使いたい場合は、タップするだけで再ダウンロードされ、前回の続きから継続できます。(アプリが Google Play で公開されている必要があります)
自動アーカイブが利用できるのは、App Bundle を使ってアプリを公開しているデベロッパーに限られます。アーカイブをサポートするアプリは、アンインストールの提案に表示される確率が低くなるはずです。
ユーザーは、数ステップで自動アーカイブをオプトインできます。
デバイスの容量が足りない状態で新しいアプリをインストールしようとする。
自動アーカイブを有効化するかどうかを尋ねるポップアップ ウィンドウが表示される。
オプトインすると、デバイスの未使用アプリが自動アーカイブされ、新しいアプリのインストールに必要な容量が解放される。
自動アーカイブを使うと、ユーザーは簡単にデバイスのストレージを管理できます。デベロッパーにとっては、アプリのアンインストール率を下げる優れた方法です。
この記事は Kotlin プロダクト マネージャー、James Ward、デベロッパー リレーションズ エンジニア、Boris Farber による Android Developers Blog の記事 " Kotlin DSL is Now the Default for New Gradle Builds " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android が Kotlin ファーストになって 4 年が経ち、Kotlin に切り替えることで多くの Android デベロッパーが生産性の向上とアプリの安定化を実現しています。しかし、Gradle には何年も前から Kotlin (build.gradle.kts) のオプションが存在していたにもかかわらず、ビルド定義のデフォルト言語は Groovy (build.gradle) のままでした。
今回、ビルド スクリプトのデフォルト言語が Kotlin に切り替わったことをお知らせします。つまり、Kotlin がすべてのプロジェクトのコードで利用する唯一のデフォルト言語になりました。Jetpack Compose による UI 開発に利用できるのはもちろん、今回よりビルド スクリプトでもデフォルトになります。この改善にあたっては、Gradle と JetBrains のチームと連携して作業を進めてきました。詳しい内容は、関連するお知らせが Gradle ブログ (英語) とJetBrains ブログ (英語) に掲載されています。
この変更は Groovy を使っている既存プロジェクトには影響しません。今後も動作し続け、サポートが終了する予定はありません。ただし、Android Studio Giraffe 以降で新しいプロジェクトやモジュールを作成する場合は、デフォルトで Kotlin DSL が使われます。更新版のプロジェクト テンプレートを使うと、新しい Kotlin DSL のビルド スクリプトを簡単に試してみることができます。既存のビルドを移行したい場合は、Kotlin DSL 移行ガイドをご確認ください。
Kotlin DSL は新規プロジェクトのデフォルトになりますが、既存の Groovy DSL ベースの大規模なプロジェクトについては、Gradle、JetBrains、Google がさらにビルドのパフォーマンスを改善するまで移行を待つようにしてください。この作業は現在も継続中で、進展があり次第、最新情報をお知らせします。具体的には、スクリプトのコンパイル パフォーマンスが Groovy DSL よりも下がっています。ただし、Groovy DSL とは違い、Kotlin DSL スクリプトのコンパイル結果は Gradle のローカルとリモート キャッシュに格納されるので、その後のビルドで再コンパイルの必要はなくなります。
この変更のメリットは、プロジェクトのすべてのコードで 1 つの言語を使えることだけではありません。Gradle ビルドで Kotlin DSL を使うその他のメリットを紹介しましょう。
Kotlin は静的に型付けされるので、Kotlin DSL ビルド スクリプトを編集するときに、正確なコードヒントが瞬時に提供されます。
構文エラーが厳密にチェックされるようになり、プロジェクトの同期時ではなく Kotlin DSL ビルド スクリプトの編集時に表示されます。
Control+Q (macOS では Command+B) を押すことで、型とメソッドのドキュメントを確認できます。さらに詳しい情報を確認したい場合は、Control+クリック (Command+クリック) でソースコードにも移動できます。
1 つのプロジェクトで Groovy DSL ビルド スクリプトと Kotlin DSL ビルド スクリプトを混在させ、モジュールごとに徐々に移行できます。そのため、新規モジュールでは Kotlin DSL を使いつつ、既存モジュールでは Groovy を使い続けることができます。
これに関連して新規プロジェクト テンプレートも変更し、Kotlin DSL ビルド スクリプトで Gradle バージョン カタログ (英語) を使う試験運用版オプションを追加しています。
バージョン カタログを使うと、スケーラブルな形でプロジェクトの依存関係定義を一元管理できます。バージョン カタログの使用は必須ではありませんが、ビルド定義の型安全性が強化されるので、Kotlin DSL と合わせて使うとたいへん便利です。
バージョン カタログへの移行の詳細については、移行ガイド (英語) をご覧ください。
今回導入される Kotlin DSL のデフォルト変更は、Android Studio Giraffe プレビュー版 (英語) で利用できます。ぜひ試してみて、感想をお聞かせください (英語) !
この記事は Android team による Android Developers Blog の記事 " U-NEXT sees 1.5X increase in tablet installations after boosting support for large screens " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
日本最大級の国内ストリーミング サービスかつデジタル コンテンツ サービスである U-NEXT は、ユーザーが好むコンテンツを表示するための新しい手法を常に模索しています。U-NEXT では、映画、アニメ、ライブ配信、マンガ、雑誌、電子書籍など、1,200,000 以上の作品を単一のアプリで利用できます。
UX を改善するための手法を常に模索し続けている U-NEXT は最近、Android タブレットや Chromebook などの大画面デバイスや折りたたみ式デバイスの市場が拡大している点に着目し始めました。そこで、U-NEXT のエンジニアは、大画面デバイスや折りたたみ式デバイスの独自の強みを活かして、コンテンツの視聴方法を改善できるのではないかと考えました。たとえば、大画面デバイスで利用できる優れたマルチウィンドウ機能を組み込むことで、多種多様な情報を表示できるようになったり、折りたたみ式デバイスの UX を改善すれば、従来の紙の本のような読書体験をうまく再現できるかもしれません。
ただ、大画面デバイスや折りたたみ式デバイスで U-NEXT のアプリを使用している際に、バグが発生することもありました。たとえば、U-NEXT を大画面デバイスで開いた場合に、重要なボタンが隠れてしまい、これらのナビゲーション ツールがページのどこにあるかユーザーが探さなければならなくなっていました。
そこで、UX を大幅に見直して Android の大画面デバイスや折りたたみデバイスにより対応できるようにするために、U-NEXT のチームは、既存のバグを一掃してから、大画面を最大限活用できる機能を追加するという 2 段階でプロジェクトに取り組みました。
バグを一掃する
アプリ内の重要なナビゲーション ボタンが見えなくなるという問題に対処するために、U-NEXT のエンジニアは ConstraintLayout (英語) を使用して、表示領域を制限する境界を設定しました。これにより、UI 要素が画面外に押し出されてしまうことを防止でき、また、画面のサイズによらずに適切な向きで表示されるようになります。
また、U-NEXT のアプリが大画面デバイスで適切に表示されないこともありました。たとえば、ユーザーが閲覧できる動画の一覧を表示するページは、通常、ヘッダーとキュレートされた動画一覧で構成されます。本来は動画の一覧がページ上のほぼ全体に表示されるはずですが、大画面の場合、ヘッダーが画面上のほとんどのスペースを占有してしまっていたため、動画コンテンツの操作がしづらくなっていました。U-NEXT のチームは、大画面でのヘッダー画像の幅を制限することで一覧の表示スペースを確保し、大画面デバイスを使用するユーザーが操作しやすくして、この問題を解決しました。
ユーザーが U-NEXT のアプリで書籍を読む場合、画面のタップ操作で横方向のスクロールバーを表示でき、文章内を迅速かつ簡単に移動できます。ただ Chromebook の場合、このナビゲーション ツールは表示されませんでした。
U-NEXT の Principal Engineer、三輪 智也氏は次のように述べています。「もともと、ユーザーのタップ時に Chromebook が全画面表示になっているかどうかの判定には、SystemUiVisibility を使用していました。全画面表示ではないことを SystemUiVisibility が検出した場合に、コントローラが表示される仕組みでした。ただ、Chromebook では SystemUiVisibility が変更されても、このリスナーが呼び出されないため、コントローラが表示されませんでした」
そのため、Chromebook で SystemUiVisibility が変更された場合に、コントローラの表示を処理する方法を変える必要がありました。このバグを修正することで、Chromebook で画面をタップすると、SistemUiVisibility の変更とコントローラの表示 / 非表示処理が同時に行われるようになったため、ユーザーが直面していた問題が解決されました。
U-NEXT のデベロッパーが対処した最後のバグは、視聴時にユーザーが折りたたみ式デバイスを折りたたんだ際に、動画が一瞬途切れてしまうというものでした。コンテンツの視聴時にデバイスを折りたたんでもシームレスに処理されなければなりませんが、ディスプレイを折りたたむ際にアクティビティを自動で削除して再作成するため、動画が一瞬途切れていたのです。
U-NEXT のデベロッパーは、この構成の変更を Android で自動的に処理するのではなく、手動で処理するようにアプリを変更しました。チームは、onConfigurationChanged() を使用して変更をオーバーライドし、UI 要素の削除と再作成が自動的に行われないようにしました。これにより UI 要素が維持され、動画の再生が途切れないようになりました。
さまざまなフォーム ファクタを活用する
U-NEXT はユーザー エクスペリエンスが大幅に向上することを期待し、機能刷新の一環として、従来型のナビゲーション バーをナビゲーション レール (英語) に置き換えました。
三輪氏は次のように述べています。「快適なユーザー エクスペリエンスを提供するという点に関して言えば、目的の箇所に手が届きやすいということが重要になります。従来型のナビゲーション バーの場合、中央にあるボタンに手が届きづらいです。ナビゲーション レールであれば簡単に手が届きます。」
次に U-NEXT のチームは、読者が折りたたみ式デバイスで電子書籍を読んでいる際に、コンテンツを 2 ページの見開きで表示できるように改善を加えました。折りたたみ式デバイスが縦向きの場合、通常は 1 ページのみが表示されます。ただ、ほとんどの折りたたみ式デバイスには 2 ページを表示できる十分なスペースがあります。そのため、U-NEXT のデベロッパーは、縦向きか横向きかによらずに、あるいは、デバイスが少し折りたたまれている状態でも常に 2 ページの見開きが表示されるようにしたいと考えました。
また、U-NEXT のチームは、大画面デバイスや折りたたみ式デバイスでのユーザー エクスペリエンスをさらに改善するために、生活の質を上げられるちょっとしたアップデートも加えました。このアップデートには、大画面デバイスでの Google Play アプリ内課金への対応の強化、ピクチャー イン ピクチャー (英語) の表示の最適化などが含まれています。
Android であれば最適化が簡単
U-NEXT チームは、大画面デバイスや折りたたみ式デバイス向けにアプリを簡単に最適化できたことに驚いていました。U-NEXT は、Android のデベロッパー リソースを活用することで、時間と労力を最小限に抑えながら、U-NEXT のアプリを使用してさまざまなデバイスでコンテンツを視聴する方法を改善できました。
三輪氏は次のように述べています。「そこまで難しくはありません。ナビゲーションを導入することは比較的簡単でしたし、アプリが基本的な画面の回転に対応していれば、折りたたみ式デバイスへの対応も一般的にそれほど難しくはありません。」
大画面により対応するように U-NEXT アプリをアップデートしてから、タブレットでのインストール数は 1.5 倍になりました。また、大画面デバイスを使用するユーザーの視聴時間も、10% 以上増加しています。
今後、U-NEXT のチームは、マウスやキーボードとの互換性の向上、詳細なリスト表示の導入による検索機能の強化、テーブルトップ モードのサポートの推進、簡単にコンテンツを共有できるドラッグ&ドロップ機能の実装など、引き続き大画面デバイス向けの機能を強化していく予定です。
U-NEXT は、最近のマテリアル デザイン 3 (英語) のアップデートをはじめ、Android の増え続ける大量のドキュメントにさらにリソースが追加されたことを歓迎しています。これによって、大画面デバイスや折りたたみ式デバイスを利用するユーザーが拡大し続ける状況にもさらに対応しやすくなります。
大画面デバイスへの最適化を今すぐ開始する
大画面デバイスや折りたたみ式デバイスなど、新しいフォーム ファクタを使用するユーザーの数は増加しています。そのようなデバイスを使用するユーザーをサポートする方法は Android の大画面ギャラリーの例を参考にしながら学べます。