2022年5月12日(現地時刻)Google I/O 2022 Keynote およびDeveloper KeynoteよりAndroid関連のトピックをお届けします。今年のGoogle I/Oも基本的にはオンラインイベントなものの、一部はIn-person Eventで、Keynoteはショアラインアンフィシアターで観客を入れて行われました。来年には元通り(2019年以前)の開催になるのかもしれません。
セッションは公式ページやYouTubeで公開されています。執筆時点ではDay.1のセッションが対象で翌日にもDay.2のセッション公開を予定しています。
キーノートはYouTubeに公開されていますが2時間以上と長いため、ここでは開発者が理解しておくべきポイントに絞って解説します。内容で気になったところを動画でチェックする視聴スタイルがおすすめです。
セキュリティとプライバシー保護の取り組み
現在、Android関連の技術スタックは広範囲に渡る事業領域をカバーしています。Google Keynoteでは2022年以降の方向性を示しているという点で価値がありますが、これまでの背景を知っておかないと意図がよくわからない機能がでてきます。細かい話題に踏み込む前にGoogleが目指す世界観を理解しておきましょう。
2021年に引き続き、PrivacyやSecurityが大きな関心ごととして挙げられています。これは安全にかかわる重要事項ですが利便性とも切り離せません。今回、Keynoteではワンタップ(パスワードレス)でのサインインをデフォルト化(2段階認証)すると発表がありました。
身の回りにあるデバイスそれぞれのログインを簡単かつ安全にする取り組みはGoogleやAppleといったBigTechしか出来ない取り組みです。発表された主な機能は次のとおりです。
- 2段階認証のデフォルト化 / パスワードレス
- Passkeyの発表:マルチデバイスのサインインをパスワードレスにする取り組み
- Protected Computing / プライバシーを守るため利用データを最小化し、個人を特定できないようにDe-identify(データを匿名化)、必要以上のアクセスを制限するなどの取り組み
プライバシー保護の観点ではGoogleも制限対象です。そのためAndroidでは個人的な情報を処理する場合に端末内で完結するアプローチも採用されています。たとえばPixel Phoneで提供しているLive翻訳は、Pixel Tensorチップが行っていてGoogleのサーバーへ内容が送られないように工夫があります。認証情報といったセキュリティ面も同様です。Pixelでは暗号化チップTiten M2を搭載しています。セキュリティやプライバシーはGoogleだけで完結する話ではないためデバイスやアプリケーションでの対策も重要な課題といえるでしょう。
2-Step Verificationのデフォルト化以外にも、log4jのようなシステム脆弱性モニタリング、ソフトウェアサプライチェーンの保護、サイバーセキュリティ人材の育成などを掲げて、ソフトウェアの安全性を維持することに努めています。
これらの取り組みの背景には組織的なサイバーテロ、政府が主導するネットワーク攻撃など大規模なSecurity Issueへの危機感があります。Andoridのようなモバイルデバイスも攻撃対象になりうるため開発者も十分な知識を求められているという実情があります。
今回の発表ではGoogle Walletの強化(クレジットカードのバーチャルカード対応や会員証といったPassのグループ化、デジタル免許証)なども合わせて発表されました。実際の財布のほうがいいのでは?と感じる人向けに公式のQA集もでています。
- Ask a Techspert: How do digital wallets work?(ここの中でCOVIDワクチン証明書といったセンシティブな個人情報は端末内に保存されており、Googleでも許可なくアクセスできないなどポリシーも説明しています。クレジットカード紛失の場合に利便性が向上するなどメリットも触れていました。金融領域は国ごとに規制が違うのですが、Googleが目指す将来を知れる公式記事です)
Android 13 Beta 2リリース
KeynoteではAndroid 13 Beta 2のリリースが発表されました。Android 12Lでもラージスクリーン対応が取り上げられていましたがスマートフォンだけでなくタブレット、ウォッチ、Android Carなど多様なデバイスでシームレスな体験を向上させる機能が増えています。
- What’s beta than Android 13?(プライバシーとセキュリティ、パーソナライゼーション、大画面対応についてAndroid 13の特徴という観点からまとめられた公式ブログです)
- What’s new in Jetpack Compose(Jetpack Compose 1.2 betaの解説です。1.2.0-alphaの内容もあわせて掲載されています)
- Second Beta of Android 13(開発者向けの公式まとめ記事)
マルチデバイス対応をしていくなかで、Androidフォンを中心としてアプリだけでなくていろいろなデバイスとの連携・ユーザー体験を向上させていくとしています。
キーワードはマルチデバイス対応
Android 13では新機能として次の機能を提供予定です(mhidaka注釈:いくつかの機能はAndroid 12Lでのラージスクリーン対応、ChromeOSなどのアップデートで増えたものもありますがここでは区別せずに紹介します)
- Get more done across devices with Android(デバイスの相互接続性を確保するインスタントセットアップや複数のデバイスが協調して動作する体験設計の考え方など補足している公式記事です)
- Make connections that Matter in Google Home(スマートホームの業界規格Matterの解説です。信頼性を担保した接続方法の例やGoogleのパートナープログラム “Works with” partner programの説明、これらを実装するためのGoogle Home Mobile SDKに触れている公式記事です)
- Private Message:セキュリティ機能の向上。次世代SMSなメッセージ規格RCSに沿ってEnd-to-Endのメッセージ暗号化を行います。
- Digital Driver’s License:運転免許証のデジタル化(日本でもマイナンバーカードがスマホに載るという整理でデジタル化がすすんでいます)。
- 地震速報のサポート※、緊急事態を検出した自動通報(911)※日本のように地震速報が整備されている地域は多くありません
- マルチデバイスでの連携強化:スマートフォンからタブレットへのデータ転送等のサポート
- ペアリングの簡単化:matter connect規格の採用、100以上のデバイスを簡単にペアリングできるように。
- 編集注釈:Fast PairとMatterは2022 CESで公表していた内容のアップデートのようです。
- 1台目のペアリングを簡単化すると共にペアリング済みデバイス間で連携することで安全性を保ちながら2台目以降の設定を簡略化してマルチデバイスでの体験を促進する仕組み
Fast Pair対応に合わせてQRコードの読み取りはGoogle Playが対応してくれるようになりました。この際、アプリ側にカメラパーミッションが必要なくなります。最初は違和感があるかもしれませんがマルチデバイスとの接続方法を統一することで使い勝手を向上させ、相互接続性やセキュリティを高める意図があります。
- Living in a multi-device world with Android(Androidでのマルチデバイス、Keynoteで紹介されているPhone at the Centerの考え方を紹介しています。技術の進化によって生活をより豊かに、良いものにしていくという趣旨を新機能ベースで解説している公式記事です)
Developer Keynote:Android 13の新機能
Developer KeynoteではAndroidのマルチデバイス(Wear, TV, Large Screen)対応と開発者の生産性を向上する開発環境やライブラリが紹介されています。
Kotlin、Android Studioを中心とした開発者体験を説明しています。マテリアルデザイン、Jetpack ComposeといったUIフレームワーク、互換性を維持し再利用性を高めるJetpackライブラリ、Google Play Servicesによる機能拡張、そしてユーザーと開発者をつなぐGoogle Play Storeとエコシステムを整理します。
近年の傾向としてデバイスはスマートフォンだけでなく、WearやAndroid TV/Google TV、Large ScreenやChromeOS、Windowsなども対象にはいっており、多彩さが特徴です。また前述のとおり、IoT機器などはGoogleが提供するFast Pairなど(Google PlayのQRコードリーダー機能)でアプリという枠を越えた連携を目指しています。
Composeの適応範囲が更に拡大
Jetpack ComposeはKotlin開発元のJetBrainsと協力しつつクロスプラットフォーム対応(Compose Multiplatform)を進めています。Google I/O 2022ではAndroidプラットフォームでのマルチデバイス対応の一環として、Compose for Wear OSが発表されました。2022年秋発売予定のPixel Watchと合わせて注目ですね。
ラージスクリーン対応を訴求
Android 12Lおよび13ではタブレットなどのラージスクリーンに最適化する新機能を追加しています。可変スクリーンサイズに対応する作業は開発者にとっては悩みのタネですが、タブレット等へデバイスに最適化することでユーザーエンゲージメント(定着率等)が向上するとしています。実際にeBayがタブレット対応したことで評価4.7を獲得した事例が紹介されていました。
- eBay gets a 4.7 Google Play rating with tablet optimizations (Google I/O 2022直前に公開された公式ブログです)
ラージスクリーンデバイスは市場で成長を続けており、注力分野のひとつです。これはタブレットだけではなくChrome OSなども考えるとたしかに勢いを感じる分野であることは間違いありません。アプリ開発者へのサポートを強化するためJetpack Window ManagerでのWindowサイズ標準化(Compact/Medium/Expanded)やベストプラクティスを紹介しています。
モバイルエンジニアにとってのレスポンシブデザイン対応はノウハウが溜まっていない状況です。基本的には工数がかかる大変な作業です。アプリユーザーの体験向上もメリットですが、GoogleではPlay Storeでのタブレット対応アプリ特集を組むなどアプリ開発者のビジネス拡大をサポートを表明しています。
Android Studio Electric Eel 新機能
- Android Studio Preview リリースノート(Electric Eel Canary 1のダウンロードもこちらから)
開発者の生産性に直結するIDE、Android Studioも新しいバージョンElectric Eel(デンキウナギ)が登場しました。Electric Eelの新機能として次のデモンストレーションを紹介しています。
- Multi Preview API:複数のデバイスサイズを一括Previewして確認できる
- Device Monitoring:Andorid StudioビルトインのDevice Managerで実機のスクリーンシェアを行う
- Live Edit:コード変更のホットロード。その場でコードを変更し、反映できる機能(Javaで対応していたLive EditのCompose版)
- Rotate Inside Android Studio:実デバイスをAndroid Studioから回転する
Device Monitoringでは実機にふれることなく画面確認、画面回転ができるなど利便性が高い機能です。UIコンポーネントのPreviewだけではなくて全体の動きを確認する際に活躍します。
ここで紹介された以外にも、Android StudioからFirebase CrashlyticsのクラッシュログにアクセスできるAndroidとFirebaseのインテグレーションも発表されました。クラッシュが多い箇所を視覚的にLintできるため品質改善の大きな手助けとなると期待できます。
What’s new in Android
Androidの技術的な情報まとめはDay.2のセッション公開とあわせて実施予定です。別記事をおまちください。読者のみなさんが調べやすいようにひとまず公式のポインタを残しておきます。
- 13 Things to know for Android developers at Google I/O!
- 一番最初によむまとめ記事。大きなアップデートが網羅されている
- Announcing Compose for Wear OS Beta!
- Wear OS向けのCompose UIコンポーネントの紹介です
- New Google Play SDK Index helps you choose the right SDKs for your app
- Google Play SDKにStoreで公開しているアプリSDK統計が増えました。正しいSDKを選択する指標となることを期待しているようです
- What’s new in Google Play
- Google Playの新機能や改善情報がまとまっています
- Introducing Health Connect, a new API for Android app developers to securely access user health data
- Google Fit、Fitbit、Samsungが共同して開発したHealth Connectの仕組みや機能を解説しています
- Google I/O 2022: What’s new in Jetpack
- アーキテクチャガイドや新機能、特に今回のI/Oで推しているパフォーマンスTipsに触れられています
- Google I/O 2022: What’s new in Android Development Tools
- Android Studio Dolphinのリリース、Android Studio Electric Eelの新機能が簡潔にまとまっています
- New flexible tools to grow your subscription business
- Play Billing Library 5.0リリース、定期購読の改善についてなどマネタイズやグロースです。
- What’s new in Jetpack Compose
- Compose 1.2betaの新機能紹介です。導入はもちろん、中心的なトピックが互換性維持やパフォーマンスなどに移りつつあるようです。
- Second Beta of Android 13
- Android 13 Beta 2の新機能です。6月以降はAndroid 13 Stableリリースに向けた安定版となります。
Google I/O 2022まとめ
今回のGoogle I/Oでは(Day.2のセッションはまだ公開されていないものの)セキュリティやプライバシーをどのように守るかという基軸部分はもちろん、ユーザーのプライバシー情報を販売しないという明確な意思表示があり、驚きました。
収入源として広告は小さくありませんが適切なコントロールも困難です。BigTechが方針を明確にしてくれたこと、今回のKeynoteではMy Ad Centerといったユーザーが広告や個人情報をコントロールする手段を提供するとのことで、これは大きな前進です。データを守りながら技術で生活を良くしていくというビジョンは難しさもありますがKeynoteを見る限り期待して良いのではと感じています。
マルチデバイスという前提ではセキュリティやプライバシーへのアプローチは一層難しくなりますし、アプリ開発に身近なところでも2021年から2022年にかけて大規模なソフトウェアサプライチェーン攻撃(Log4jやトークン流出など)がありました。ソフトウェア開発でも複雑な、そして守るのも容易でないセキュリティインシデントが目立っています。アプリ開発者としても対策を講じる必要があることは明白でしょう。
Android 13ではセキュリティ強化に加えてアプリ体験を良くする(多くのデバイスに対応した)プラクティスが提供されており、今後の進化が楽しみです。Google I/Oで発表されたAndroid開発の技術セッションの詳細は後日のブログをお待ち下さい。引き続きI/Oを楽しみましょう!