この記事はエンジニアリング部門副社長、Dave Burke による Android Developers Blog の記事 " Android 14 Developer Preview 2" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2023 年 3 月 8 日、Android 14 の 2 回目のデベロッパー プレビューをリリースします。先月の Android 14 の 1 回目のデベロッパー プレビューをもとに、プライバシー、セキュリティ、パフォーマンスのほか、デベロッパーの生産性やユーザーのカスタマイズをサポートする機能をさらに強化しています。同時に、タブレットや折りたたみ式などでの大画面デバイス エクスペリエンスの調整も続けています。
Android は、年間を通して機能強化と新機能を提供します。Android の継続的改善においては、Android 14 デベロッパー プレビュー (英語) と Quarterly Platform Release(QPR)ベータ版プログラムのフィードバックが重要な役割を果たします。Android 14 デベロッパー サイト (英語) には、Pixel にダウンロード (英語) する方法やリリース スケジュール (英語) など、プレビューに関する多くの情報が掲載されています。皆さんの感想をお聞きすること (英語) を楽しみにしています。そして、Android を誰もが使えるプラットフォームにするために、引き続き協力をお願いいたします。
Android 14 は、タブレットや折りたたみ式のフォーム ファクタに対応するために Android 12L と 13 で行った作業を土台として開発されています。大画面開発のスタートガイドと折りたたみ式端末についてを読めば、アプリの準備をする方法を短時間で学ぶことができます。大画面向けアプリの品質ガイドには、アプリを確認するための詳細チェックリストが含まれています。先日には、低レイテンシ タッチペンと Motion 予測をサポートするライブラリもリリースしました。 大画面ギャラリーには、ソーシャルとコミュニケーション、メディア、生産性向上、ショッピング、読書アプリのエクスペリエンス向けのデザイン アイデアが含まれています。
プライバシーとセキュリティは常に Android のミッションの中核部分であり、その土台となっているのが、アプリのサンドボックス化、オープンソース コード、オープンなアプリ開発です。Android 14 では、あらゆる人のために最高品質のプラットフォームを構築するために、安全性が向上したデバイス環境を提供し、ユーザーの制御を増やして情報を守れるようにします。
選択された写真へのアクセス
アプリでユーザーが選択したメディアにアクセスする必要がある場合は、写真選択ツールを使用することをおすすめします。このツールは、コア プラットフォーム機能、Google Play システム アップデート、Google Play 開発者サービスを組み合わせて利用することにより、Android 4.4 以降を実行しているデバイスで、権限なしで利用できるようになっています。
写真選択ツールを使えない場合は、SDK 33 で導入されたビジュアル メディア権限(READ_MEDIA_IMAGES (英語) / READ_MEDIA_VIDEO (英語) )をアプリからリクエストします。そうすると、Android 14 のユーザーは、選択された写真と動画のみへのアクセス権を付与できるようになります。
新しいダイアログでは、次の権限を選択できます。
[Allow access to all photos]: デバイスのライブラリのすべての写真と動画が利用可能
[Select photos]: ユーザーが選択した写真と動画のみが MediaStore 経由で一時的に利用可能
[Don’t allow]: すべての写真と動画へのアクセスを拒否
アプリ マニフェストに READ_MEDIA_VISUAL_USER_SELECTED (英語) 権限を宣言し、再度メディア権限をリクエストすると、もう一度メディアを選択するプロンプトを表示できます。
新しい権限とメディア ファイルの再選択フローに対応できるように、アプリでこの新しい動作をテストして UX を調整してください。
Credential Manager
Android 14 では、プラットフォーム API として Credential Manager (英語) が追加されます。また、Jetpack ライブラリと Google Play 開発者サービスの実装を通して、Android 4.4(API レベル 19)のデバイスまでサポートします。この API は、ユーザーが設定した認証情報プロバイダに認証情報を保存して取得できるようにすることで、ユーザーが簡単にログインできるようにします。また、パスワードをサポートするだけでなく、パスワードを使わないログインの新たな業界基準であるパスキー (英語) を使ったログインにも対応します。パスキーは業界基準に基づいて作られており、オペレーティング システムやブラウザのエコシステムに依存せずに動作し、ウェブサイトでもアプリでも利用できます。デベロッパー プレビュー 2 では、アカウント セレクタの UI スタイルが改善されているほか、デベロッパー プレビュー 1 のフィードバックに基づいて API が変更されています。詳細については、こちらを参照してください。
安全な暗黙的インテント
Android 14 をターゲットとするアプリでは、予期しないコードパスが実行されることを防ぐため、暗黙的インテントを使って可変のペンディング インテント (英語) を作成すると、例外がスローされます。ペンディング インテントを不変にするか、明示的インテントを使用する必要があります。詳細については、こちらを参照してください (英語) 。
バックグラウンド アクティビティの起動
Android 10(API レベル 29)以降では、バックグラウンドで実行されているアプリがアクティビティを開始できる状況に制限が設けられています。この制限により、ユーザーの操作の中断は最小限で済み、画面に表示する内容を細かく制御できます。Android 14 では、予期しない中断が起きる回数をさらに減らすため、ユーザーが操作しているアプリによるアクティビティの起動機能をフォアグラウンド アプリからさらに細かく制御できるようにします。具体的には、Android 14 をターゲットとするアプリで PendingIntent を送信するか、サービスをバインドする場合、バックグラウンドでアクティビティを起動する権限を付与 (英語) する必要があります。
Android 14 では、さまざまなアプリが同時に動作する方法を最適化し、システムの健全性やバッテリー駆動時間を向上させ、エンドユーザー エクスペリエンスを洗練する作業を続けています。
バックグラウンド処理の最適化
デベロッパー プレビュー 2 では、Android のメモリ管理システムが最適化され、バックグラウンドでアプリが実行されている間のリソースの使用が改善されています。アプリがキャッシュに保存された状態になってから数秒が経過すると、フォアグラウンド サービス、JobScheduler、WorkManager といった通常の Android アプリのライフサイクル API 以外のバックグラウンド作業は禁止されます。バックグラウンド作業の禁止は、Android 13 よりもかなり早いタイミングで行われます。
閉じることができない通知の削減
FLAG_ONGOING_EVENT (英語) を含む Android 14 の通知は、ロックされていないハンドヘルド デバイスで閉じることができるようになります。デバイスがロックされている場合は、これまでと同様、通知を閉じることはできません。また、これらの通知の通知リスナーを閉じることはできません。システムやデバイス ポリシーの通知など、デバイスの機能にとって重要な通知を閉じることができない点は変わりません。
Android 14 では、いくつかの新しい PackageInstaller (英語) API が導入されます。これを使うと、アプリストアのユーザー エクスペリエンスを改善できます。この API には、インストールが承認されるまで APK のダウンロードを遅らせる requestUserPreapproval() (英語) メソッド、インストーラがインストール中のアプリの将来のアップデートに対応することを宣言できるようにする setRequestUpdateOwnership() (英語) メソッド、アプリが使用中であるときに分割 APK を通してオプション機能をシームレスにインストールできる setDontKillApp() (英語) メソッドなどが含まれています。また、InstallConstraints (英語) API は、アプリが使われなくなったときなど、適切なタイミングでアップデートする方法をインストーラに提供します。
アプリストアを開発している方は、ぜひこれらの API を試してみて、感想をお聞かせください (英語) 。
地域の設定
地域の設定を使うと、温度の単位、週の最初の日、番号の付け方などをユーザーがパーソナライズできます。米国に居住するヨーロッパの人々は、温度の単位として華氏よりも摂氏を好むかもしれません。また、週の最初の日は米国のデフォルトでは日曜日ですが、月曜日にすることを好むかもしれません。
これらの設定は Android の新しい設定メニューに含まれるので、ユーザーが見つけやすく、アプリの設定を一元管理できます。また、バックアップと復元しても、これらの設定は保持されます。いくつかの API やインテントを使うとユーザー設定に読み取りアクセスできるので、アプリの情報表示を調整できます(getTemperatureUnit、getFirstDayOfWeek (英語) など)。また、ACTION_LOCALE_CHANGED (英語) に対して BroadcastReceiver を登録すると、Regional Preferences が変更されたときに言語 / 地域の構成変更に対応できます。
毎回のプラットフォーム リリースでは、アプリの互換性を優先することで、高速でスムーズなアップデートを実現できるように努力しています。皆さんが十分に時間を取って、アプリに必要な変更を加えられるようにするために、Android 14 (英語) ではアプリに関連する変更のほとんどがオプトイン方式になっています。また、短時間で対応できるように、ツールやプロセスをアップデートしています。
デベロッパー プレビュー 2 の期間中に、API に対する意見を求め、プラットフォームの変更点 (英語) がアプリにどのように影響するかを確認しますので、ぜひ今のうちに新規機能を試し、フィードバック (英語) をお送りください。
また、今は互換性テストを実施し、必要な作業を洗い出し始めるべきタイミングでもあります。一部の機能は、アプリの targetSdkVersion を変更することなく、開発者向けオプションの動作の変更点の切り替え (英語) を使ってテストできます。この機能を使って Android 14 の変更点をオプトインすると、アプリにどのような影響があるかを確認する予備調査ができます。
最終版の SDK/NDK API とアプリに関連するシステム動作を提供するタイミングを、Platform Stability と呼びます。2023 年 6 月に Platform Stability に到達することを想定しています。その後、数週間の最終テスト期間を経て、公式リリースを迎える予定です。詳しいリリース スケジュールはこちら (英語) をご覧ください。
デベロッパー プレビューには、Android 14 の機能を試し、アプリをテストしてフィードバック (英語) を提供するために必要なすべてのものが含まれています。タブレットや折りたたみ式でアプリのテストを始める一番簡単な方法は、Android Studio SDK Manager (英語) の最新プレビュー版で、タブレットまたは折りたたみ式設定の Android Emulator を使うことです。スマートフォンの場合は、システム イメージ (英語) を Pixel 7 Pro、Pixel 7、Pixel 6a、Pixel 6 Pro、Pixel 6、Pixel 5a 5G、Pixel 5、Pixel 4a(5G)のいずれかのデバイスに書き込むと、すぐに始めることができます。Pixel デバイスをお持ちでない方は、Android Studio で 64 ビット システム イメージと Android Emulator を使うことができます。
Android 14 向けに最高の開発をするには、Android Studio Giraffe (英語)(または Giraffe 以降の最新版)の最新プレビュー版を使うことをおすすめします。セットアップ (英語) の完了後にやるべきことは、以下のとおりです。
新機能や新 API を試す - 早い段階のデベロッパー プレビューでは、皆さんからのフィードバックが不可欠です。問題は、フィードバック ページ (英語) のトラッカーで報告してください。
現在のアプリの互換性をテストする - Android 14 のデフォルト動作の変更がアプリに影響を与えるかどうかを確認し、Android 14 を実行しているデバイスやエミュレータにアプリをインストールして幅広くテストできます。
変更をオプトインしてアプリをテストする - Android 14 では、ターゲットに新しいプラットフォームを指定した場合のみ、動作の変更点がアプリに影響するようになっており、それをオプトインすることができます。変更点を早めに把握し、評価することが重要です。簡単にテストできるように、変更点のオン、オフを個々に切り替え (英語) られるようになっています。
プレビュー システム イメージと SDK は、Android 14 のリリース サイクル期間中、定期的にアップデートされる予定です。このプレビュー リリースはデベロッパー専用で、日常的な使用や一般のユーザーの使用を想定したものではありません。そのため、新規 Android 14 デベロッパー プレビュー ユーザーは、手動ダウンロードのみでプレビュー リリースを入手できます。プレビュー ビルドを手動でインストールすると、以降のプレビューやベータ版の機能はすべて無線(OTA)で自動アップデートされます。詳細については、こちらを参照してください (英語) 。
デバイスをワイプせずに Android 13 QPR ベータ版プログラムから Android 14 デベロッパー プレビュー プログラムに移行したい場合は、今のうちにデベロッパー プレビュー 2 に移行することをおすすめします。移行しない場合、Android 13 ベータ版のビルド日付が新しくなった場合に、データをワイプせずに Android 14 デベロッパー プレビューに直接移行できなくなる時間帯が発生する可能性があります。
ベータ版リリースに近づいたら、一般のユーザーも招待して Android 14 を試していただく予定です。その際には、Android 14 ベータ版プログラムへの登録もオープンします。現在のところ、Android 14 のベータ版プログラムはまだ利用できない点に注意してください。
完全な情報は、Android 14 デベロッパー サイト (英語) でご覧いただけます。
Java および OpenJDK は Oracle および/またはその関連会社の商標または登録商標です。
この記事は Android App Safety、Senior Director, Product Management, Android App Safety、Bethel Otuteye による Android Developers Blog の記事 "Keeping Android and Google Play safe with our key 2023 initiatives" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
デベロッパーの皆さんがビジネスを成功させ、世界中の何十億人のユーザーに質の高いアプリやゲームを提供できるよう、Android と Google Play の安全性を維持することは、Google の最優先事項です。過去数年間、アプリの保護 (英語) に役立つツールを増やしたり、ユーザーやその家族 (英語) の安全と安心を守るためのポリシーを進化させ、皆さんと協力して、よりプライバシーに重視した広告テクノロジーを構築 (英語) などを行いました。
私たちは、デベロッパーの皆さんにとって、急速に変化しているプライバシーとセキュリティの状況への対応が難しいことを理解しています。そこで私たちは、プロダクトやポリシーのサポート、現在進行中の取り組みについての最新情報の共有、プロダクトの変更についての事前予告などをより多く共有しました。昨年に引き続き、主要な優先事項のプレビューを共有します。私たちが皆さんとの連携を継続することで、これからもデベロッパーの皆さんと Google 間の共通のユーザーに貢献できることを楽しみにしています。
よりプライバシーに配慮した広告アプローチを構築
2022 年、Google は、ユーザーのプライバシーの水準を高め、無料のコンテンツやサービスへの継続的なアクセスを確保するための業界全体の取り組みである Android 向けのプライバシーサンドボックスを発表しました。ウェブでの取り組みをベースに、ユーザー データの共有を制限し、アプリ間の識別子に依存しないデジタル広告ソリューションの開発を進めています。私たちは、業界と密接に連携しながら、これらの新しい技術へのフィードバック収集とテストを実施しています。
そして今、私たちはこの取り組みの次のフェーズに入ろうとしています。Android 向けのプライバシー サンドボックスの最初のベータ版を、ごく一部の Android 端末に展開します。このベータ版を通して、ユーザーとデベロッパーの皆さんは、実際の環境で新しいソリューションを体験し、評価することができます。ベータ版に参加する方法は、デベロッパー ガイドをご覧ください。定期的に最新情報を確認したい方は、プライバシー サンドボックス ブログをフォローしてください。プライバシーを重視したモバイル エコシステムへの移行に向け、デベロッパー、パブリッシャー、規制機関と引き続き連携して作業を進めていきます。
ユーザーが自分のデータをよりコントロールできるようにする
デベロッパーの皆さんから、複数プラットフォーム間で共通して利用するデータの取り扱い方について、シンプルかつわかりやすく示すことで、ユーザーの信頼を得たいという声を頂戴しました。私たちはここ数年にわたって、デベロッパーによるユーザーのデータの収集、共有、保護をするかどうか、そして、その方法について、透明性 (英語) を向上する取り組みを続けています。2023 年も Google Play のデータ セーフティ セクションの改善を続け、新機能とポリシーを追加してデータ削除に関する明確化とユーザー制御の強化を図る予定です。
また、ユーザーの安全性は、ユーザーデータにアクセスするための権限のリクエストを減らすことでも高めることができます。多くの場合、アプリではプライバシーを保護しながらユースケースを実現する方法が使われています。たとえば、実行時の権限を使ってデバイス上のすべての写真にアクセスする権限をリクエストするのではなく、写真選択ツールのインテントを使ってユーザーが個々の写真を選択してアプリと共有できるようにします。Android 14 デベロッパー プレビュー 1 では、強化されたプライバシー、セキュリティ、透明性のテストも可能です。さらに詳しい情報は近日中にお伝えしますので、Android 14 (英語) と Google Play ポリシーのアップデートにご注目ください。
不正使用や攻撃からアプリを守る
デベロッパーの皆さんからは、ビジネス、ユーザー、IP を守るためのサポートを強化してほしいという声が寄せられています。そこで、リスク検知とリスクからの保護、不正使用対策戦略の強化を目的として、Play Integrity API と完全性の自動保護機能の改善 (英語) を継続します。これらのプロダクトを使用しているデベロッパーの皆さんは、アプリやゲームへの不正アクセスが平均 50% 以上減少していることが確認できています。Play Integrity API は、すぐに使用できます。また、完全性保護に対して特にリクエストが多かった機能をアップデートするほか、完全性の自動保護機能へのアクセスを拡大する予定なので、今後にご期待ください。
詳細な SDK 情報を提供する
デベロッパーの皆さんから、信頼性が高く、安全に利用できる SDK を判断する情報がほしいという声も寄せられています。そこで、特定の SDK バージョンに含まれる重要な問題や SDK 関連のクラッシュを修正する方法などについて、SDK プロバイダが Google Play Console や Android Studio を通して直接メッセージを送る方法を設けました。また、Google Play SDK Index を公開し、Google Play で特によく使われている 100 以上の商用 SDK の知見や使用状況データを提供しています。近日中に、SDK が使用する可能性のある機密性の高い権限や、特定の SDK バージョンが Google Play ポリシーに違反する可能性があるかどうかについて、さらに多くの情報を共有する予定です。SDK プロバイダと連携し、安全な SDK を構築し、幅広い知見を提供することで、デベロッパーやユーザーが混乱やリスクを回避できるようにしたいと考えています。
子どもやファミリー向けの保護を強化する
デベロッパーの皆さんとともに、Google Play はご家族の皆さんにとって、子どものための教育的で楽しい体験を提供できる信頼性の高い場所になっていることを誇りに思っています。アプリのエクスペリエンスを高め、プライバシーやセキュリティの保護を強化するため、この数年間を通して新機能をリリースし、プログラムを拡大し、ポリシーの進化を行いました。2023 年も、ご家族が優れたアプリを見つけやすくするための改善を Google Play に加えるとともに、子どもの安全を守るためのポリシー更新を続ける予定です。ポリシーメールと PolicyBytes 動画で最新情報をお届けします。
責任あるデータの収集と利用を推進する
Google は、デベロッパーとアプリが、アプリの機能に必要なデータのみを収集して利用し、質の高いユーザー エクスペリエンスを提供することを強調したいと考えています。2023 年も、新しい権限とポリシー要件が導入される予定です。ポリシーメールと PolicyBytes 動画で最新情報を入手しましょう。
デベロッパーのイノベーションを育みつつユーザーの安全性を守る
プラットフォームとして、Google は常にデベロッパーの皆さんが直面する課題を理解し、革新的なアイデアを実現するための支援をしたいと考えています。すでにさまざまなブロックチェーン関連アプリが Google Play 上で公開されていますが、デジタル アセットを NFT としてトークン化するなど、アプリやゲームにさらに Web3 コンポーネントを導入したいという声は高まる一方です。どんなに新しいテクノロジーでも、イノベーションとユーザーを保護する責任とのバランスを取る必要があります。そこで、デベロッパー パートナーの意見を聞きながら、検討中のポリシー変更がそのような機会に確実に対応ができるかどうかを評価しています。これまでどおり、プラットフォームを進化させ、デベロッパーの皆さんと Google の共通のユーザーのために安全性、透明性、信頼性の高いエクスペリエンスを維持するには、デベロッパーの皆さんとの協力関係が欠かせません。今後数か月間でさらに詳しい情報を提供したいと考えています。
ポリシーと Google Play Console のエクスペリエンスを向上
ポリシーに関するコミュニケーション、サポート、エクスペリエンスの改善を続けています。最近では、新しい Play Console 機能を導入し、アプリの審査プロセスの柔軟性と管理機能を向上 (英語) しました。2023 年は、機能とサポートをさらに強化します。
また、デベロッパーの皆さんから、質問をしたり、ほかのデベロッパーの声を聞いたりする場所がほしいという声が寄せられています。そこで 2023 年 2 月より、すべてのデベロッパーに英語版の Google Play デベロッパー コミュニティ (英語) を公開し、仲間内のエキスパート デベロッパーから助言をもらったり、ベスト プラクティスを共有したりできるようにしました。この新しいフォーラムには好意的なフィードバックが寄せられています。ぜひプロダクト エキスパートへの登録 (英語) もお願いします(プロダクトで Play Console を、言語で英語をそれぞれ選択してください)。
さらに、パイロット プログラムも拡張します。その一例が、ポリシーに関する直接電話サポートを提供する Google Play デベロッパー ヘルプライン パイロットです。現在、このパイロットは、26 か国の 60,000 名近くのデベロッパーにまで拡大しています。(2022 年 11 月 (英語) 以降に、9 か国と 16,000 名のデベロッパーが追加されました)。現時点で、デベロッパーとの間で 5,000 回近くのポリシー サポート セッションを実施しており、満足度スコアは 90% を達成しています。
そして最後に、Google Play Console の受信トレイに、今後の要件に関する通知やリマインダーをより多く発信することで、デベロッパーの皆さんがアプリのアップデートを検討する際に必要な情報が届くようにしました。2023 年は、アプリのアクセス権限について事前に計画する際に役立つ新機能も構築する予定です。
このような最新情報は、年間を通して今年も継続的にお届けする予定です。引き続き Android と Google Play をすべての人のために、安全で、信頼できるものとして維持するための取り組みへのご協力をお願いします。
Posted by Tamao Imura - Developer Marketing Manager, Google Developer Marketing
この記事は Android team による Android Developers Blog の記事 " Hundreds of thousands of developers are learning Jetpack Compose " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Jetpack Compose は Android の最新 UI ツールキットであり、Pinterest、SoundCloud、Lyft (英語) などの多くの有名アプリで使われています。Jetpack Compose により、デベロッパーは質の高い Android アプリを直感的かつ効率的に記述できるようになります。世界中のデベロッパーにこのメリットを活用していただけるように、Compose Camp (英語) という Android のミートアップ シリーズを開催しました。参加したデベロッパーは、セッションを進行する「キャンプ リーダー」のガイドのもとで、Jetpack Compose を学んだり、仲間との人脈を形成したり、協力して実践型のコーディング プロジェクトを進めたりしました。
経験レベルが異なるデベロッパーが参加できるように、Compose Camp には 2 つのトラックがありました。初心者トラックは Android の開発やコーディングを初めて行う方が対象でした。このトラックでは、Android アプリ開発の基本と Compose で UI を作る方法を学びました。経験者トラックはすでに Android 開発を経験しており、Jetpack Compose の使い方を学びたいデベロッパー向けに設計されました。ここでは、レイアウト、テーマ設定、アーキテクチャ、移行など、高度な概念を学びます。
うれしいことに、世界中の数十万人もの皆さんが Compose Camp に参加してくれました。Google デベロッパー グループや Google Developer Student Club を通して参加した方、仲間や同僚と参加した方、「ソロキャンプ (英語) 」に参加して自分でコースを受講した方など、参加方法はさまざまでしたが、多くの皆さんが教材に取り組んだり、ほかの人をサポートするためにセッションを録画 (動画/英語) したり、#ComposeCamp でプロジェクトをソーシャルに共有したりしてくれました。
熱心な Android デベロッパーであり、インドのデリーにあるバグワン・パースハーアン工科大学の GDSC で Compose Camp のリーダーを務めた Rahul Sain さんに話を聞きました。
「Compose Camp でデベロッパーが使う新しいテクノロジーを教えることができ、それを通して自分の知識も深まりました。今、私たちの大学には、Android アプリの開発に専念しているデベロッパー仲間のグループがあります」
Rahul さんは、Jetpack Compose を使って開発した Scribble.io など、いくつかのアプリを自作しています。
「Jetpack Compose を使ったゲームを公開したところ、リリース後の最初の 3 か月で 1 万回以上インストールされました!」
ニューヨーク在住の Google Developer Expert で、ウェスタン・ガバナーズ大学のシニア Android エンジニアである Madona Wambua さんからも話を聞くことができました。Madona さんは、長期休暇でケニアを訪れたとき、Google デベロッパー グループと Women Techmakers のナイロビ支部を通して Compose Camp のセッション リーダーを担当しました。そして Compose Camp の初心者トラックで指導にあたり、学習者が興味を持てるように、プログラムに楽しいアクティビティを加えました。
「Compose Camp は活気にあふれていて、楽しいです!特に気に入っているのは、学習者が言語で UI を書くすばらしさを認識し、Kotlin についての質問を受けるときです。教えるのは大好きです。学習者が Compose で一緒に問題を解決したり、アイデアを共有したり、簡単に UI を書くことを学んだりするのを見ると、幸せな気持ちになります」
リーダーとして仲間の学習セッションを進めてみたい方は、Compose Camp の運営者ガイド (英語) をご確認ください。Android 開発ワークショップを進めるために必要なものがすべてそろっています。
新しいことを学ぶ方法は人それぞれなので、Compose Camp の参加者に Jetpack Compose を学習するためのヒントやコツを聞いてみました。その中からいくつかを紹介します。皆さんの Android 開発の学習に役立つことを願っています。
「Android の GitHub で、Compose サンプル (英語) や Now in Android(NiA)アプリ (英語) をチェックしましょう。Compose のベスト プラクティスを学ぶには、最高のアセットです!😍😊」 - Odin さん、ノルウェー
「Accompanist アニメーション ライブラリを使って、Compose UI にかっこいいアニメーションを追加することです」 - Mansi さん、インドの GDG アフマダーバード
「Android デベロッパーにとっての魔法の言葉、それは修飾子です。簡単に角を丸くしたり、境界線を書いたり、シャドウをつけたりできます。修飾子を学べば、信じられないほど柔軟に UI 要素をカスタマイズできます」 - Ban さん、モンテネグロ
「@PreviewParameter を使うと、コンポーザブルにサンプルデータを設定できます。サンプルデータを設定し、コンポーザブルをプレビューすることで、開発時間を短縮できます」 - Google Developer Expert の Nav Singh さん、カナダの GDG モントリオール
Compose 学習のその他のヒントは、Android デベロッパー YouTube チャンネルの Compose の基本シリーズ (動画/英語) をご覧ください。
新しいアプリを開発しようとしている方には、Jetpack Compose を使うことをおすすめします。アプリがタブレット、折りたたみ式、Wear OS に対応する場合にも、同じ開発の考え方を利用できます。Compose Camp に参加できなかった方や、さらに学習を進めたい方は、Android デベロッパー向けの Jetpack Compose コースや Compose を使用した Android アプリ開発の基礎コースをオンラインですぐにでも受講できます。地元でさらに詳しく Android について学びたい方は、お近くの Google デベロッパー コミュニティを探してみましょう。
ぜひ Compose を使ってみてください!
この記事は Diego Zavala による Android Developers Blog の記事 " Bringing together sign-in solutions and passkeys with Android's new Credential Manager " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2023 年 2 月 6 日に、新しい Jetpack API である Credential Manager のアルファ版リリースについてお知らせします。これを使うと、ユーザーの認証操作をシンプルにしつつ、パスキーをサポートしてセキュリティを強化できます。
Credential Manager は、1 つの API でユーザー名とパスワード、パスキー、あるいは ID 連携ソリューション(例: Google でログイン)など、複数のログイン方法をサポートするもので、デベロッパーによる組み込み作業の手間も減ります。さらに、Credential Manager を使うと、あらゆる認証方法でユーザーのログイン インターフェースが統一されるので、どのログイン方法を選択しても、アプリへのログインがわかりやすく簡単になります。
2022 年 10 月のアップデート以降、Android と Chrome では、パスワードを使わない新たな業界標準の認証方法であるパスキーのサポートが拡大されてきました。Credential Manager を使うと、ユーザーはパスキーを作成して Google Password Manager に保存できます。パスキーは、同じ Google アカウントでログインしているすべてのデバイスに同期されるので、ユーザーはすべてのデバイスで、パスキーをサポートするアプリにシームレスにログインできます。
2023 年は、サードパーティ製パスワード マネージャーのサポートをロールアウトし、Credential Manager との統合を可能にする予定なので、さらなるアップデートにご期待ください。
ユーザーに複数のログイン方法が提示されることがありますが、多くの場合は、どの方法を使っても同じアカウントにたどり着くことになります。Credential Manager は、同じアカウントに対するエントリの重複を省きながら、アプリへの利用可能なすべてのログイン方法を 1 つのリストにまとめます。そのため、ユーザーは背後にあるログイン技術を理解する必要なしに、アカウントを選択するだけで済みます。
アプリに簡単にログインできるようにするため、ぜひ Credential Manager をご利用ください。詳しくは、こちらの Android デベロッパー ガイド (英語) をご覧ください。
アルファ版リリースのフィードバックをお待ちしています。Credential Manager の組み込みやパスキーの使用などについて、ぜひ皆さんのフィードバックをお聞かせください。
- Android デベロッパーのチケットをオープンする (英語) - StackOverflow/Passkeys で公開フィードバックを送る (英語)
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google PlayEiji Kitamura - Developer Relations Team
この記事は ソフトウェア エンジニア、Anton Hansson による Android Developers Blog の記事 " Extending the Android SDK " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android 10 以降はモジュラー システム コンポーネントをサポートすることにより、Android エコシステムに対するメジャー API レベルのリリースに含まれない機能やセキュリティのアップデートが促進され、新機能にリリース済み Android バージョンとの下位互換性を持たせることができます。このような改善によって、開発が柔軟になり、アプリ デベロッパーのリーチも広がります。私たちは、これらの API を組み込むための新しい SDK 拡張機能 フレームワークを構築しています。このSDK 拡張機能の最初の一般公開版(拡張レベル 4)をリリースしました。
メジャー API レベルのリリースに含まれない新機能を導入できれば、イノベーションを加速できます。以前の投稿 (英語)でお知らせしたように、Android 向けプライバシー サンドボックスのベータ版の最初のリリースを Android 13 デバイス向けにロールアウトすることを計画しています。まずは、限定的な本番環境でのテストの準備として、この SDK 拡張機能を使って皆さんのソリューションを AdServices API に組み込むことができます。プライバシー サンドボックスのベータ版リリースに参加する方法や、テストデバイスやエミュレータで開発環境をセットアップする方法は、こちらをご覧ください。
SDK 拡張機能を使うと、一部のプラットフォーム機能のサポートを既存の Android バージョンに拡張し、ユーザーへのリーチを広げることができます。たとえば、写真選択ツールはこれまで API レベル 33(Android T)以降でしか利用できませんでしたが、R 拡張バージョン 2 以降を搭載したデバイスの SDK 拡張機能を通して、現在は API レベル 30(Android R)まで利用できるようになっています。
利用できる API の確認
利用できる拡張機能 API を確認できるように、その API が利用できる API レベルと最小拡張機能バージョンを表す情報を API リファレンスに追加しました。たとえば、ACTION_PICK_IMAGES (英語) の API リファレンスからは、Android R 拡張機能バージョン 2 以降で利用できることがわかります。
拡張機能バージョンは、Android のバージョンを確認するときによく使う Build.VERSION.SDK_INT と同じような方法で、実行時に問い合わせることができます。たとえば写真選択ツール API が利用できるかどうかを確認する必要がある場合なら、新しい API SdkExtensions.getExtensionVersion (英語) を使います。R 拡張機能では、R に対応するバージョン コード(30)を使います。
fun isPhotoPickerAvailable(): Boolean { return SdkExtensions.getExtensionVersion(VERSION_CODES.R) >= 2 }
別の確認方法である Build.VERSION.SDK_INT を使う場合は、次のようにします。
fun isPhotoPickerAvailable(): Boolean { return Build.VERSION.SDK_INT >= 33 }
これは安全で正しい確認方法ですが、この関数は API が利用可能になった一部のデバイスで false を返します。SDK_INT によるチェックは最適ではないので、API が利用できるかどうかを確認する場合は、拡張機能バージョンをチェックすることをお勧めします。SDK_INT >= 33 であるすべてのデバイスでも R 拡張機能バージョンは >= 2 となりますが、R 拡張機能バージョンが >= 2 である SDK_INT < 33 のデバイスも存在します。
同じように、AdServices API リファレンスには、Ad Services 拡張機能 4 で追加というような記載がある可能性があります。Ad Services 拡張機能は SdkExtensions.AD_SERVICES 定数を利用します。利用できるかどうかの確認は、次のようにして行います。
fun isAdServicesAvailable(): Boolean { return SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES) >= 4 }
デベロッパーの利便性向上のため、Jetpack を拡張して拡張機能バージョンを簡単に扱えるようにしています。たとえば、写真選択ツールが利用できるかどうかを確認する Jetpack ライブラリ関数 (英語) を利用できます。これを使うと、細かい条件を考慮したバージョン チェックの手間が省けます。SDK 拡張機能を通してリリースされる API を正しく利用できるように、今後もさらに多くの Jetpack ライブラリ(プライバシー サンドボックスのプライバシー保護 API など)をリリースする予定です。
アプリの品質保証に役立ててもらうため、Android Lint の NewApi チェックに拡張機能バージョン ツールのサポートを追加します。Android Studio Flamingo 以降では、SDK 拡張機能を通して起動する API の適切なバージョン チェックを自動生成できます。この新しいバージョン チェックの利用は完全に任意ですが、これを利用することで、新しい API が存在する場合にそれを広く利用できるようになります。
SDK 拡張機能について学ぶ
私たちは SDK 拡張機能をデベロッパーの皆さんに提供するようになったばかりですが、今後はさらに多くの機能を利用できるようにする予定です。SDK Manager で最新の SDK 拡張機能 4 が利用できます。SDK 拡張機能の詳細もご覧ください。また、プライバシー サンドボックスのベータ版や写真選択ツールのドキュメントも確認できます。
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play