X

Google I/O 2022 Keynote: Android開発者まとめ

2022年5月12日(現地時刻)Google I/O 2022 Keynote およびDeveloper KeynoteよりAndroid関連のトピックをお届けします。今年のGoogle I/Oも基本的にはオンラインイベントなものの、一部はIn-person Eventで、Keynoteはショアラインアンフィシアターで観客を入れて行われました。来年には元通り(2019年以前)の開催になるのかもしれません。

Keynoteより引用:Google I/O Keynoteの様子

セッションは公式ページやYouTubeで公開されています。執筆時点ではDay.1のセッションが対象で翌日にもDay.2のセッション公開を予定しています。

キーノートはYouTubeに公開されていますが2時間以上と長いため、ここでは開発者が理解しておくべきポイントに絞って解説します。内容で気になったところを動画でチェックする視聴スタイルがおすすめです。

セキュリティとプライバシー保護の取り組み

現在、Android関連の技術スタックは広範囲に渡る事業領域をカバーしています。Google Keynoteでは2022年以降の方向性を示しているという点で価値がありますが、これまでの背景を知っておかないと意図がよくわからない機能がでてきます。細かい話題に踏み込む前にGoogleが目指す世界観を理解しておきましょう。

Google Keynoteより引用: 2-Step Verificationのデフォルト化を発表

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だけで完結する話ではないためデバイスやアプリケーションでの対策も重要な課題といえるでしょう。

Google Keynoteより引用 セキュリティ攻撃に対応するProject Shield

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など多様なデバイスでシームレスな体験を向上させる機能が増えています。

Android 13で提供する3つの特徴(Keynoteより引用)Better togetherはGoogle Keynote 2021から引き続き登場です

マルチデバイス対応をしていくなかで、Androidフォンを中心としてアプリだけでなくていろいろなデバイスとの連携・ユーザー体験を向上させていくとしています。

Android 13での新機能(Keynoteより引用

キーワードはマルチデバイス対応

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に触れている公式記事です)
スマートフォンの画像をタブレットへシームレスに転送する様子(Keynoteより引用
  • Private Message:セキュリティ機能の向上。次世代SMSなメッセージ規格RCSに沿ってEnd-to-Endのメッセージ暗号化を行います。
  • Digital Driver’s License:運転免許証のデジタル化(日本でもマイナンバーカードがスマホに載るという整理でデジタル化がすすんでいます)。
  • 地震速報のサポート※、緊急事態を検出した自動通報(911)※日本のように地震速報が整備されている地域は多くありません
  • マルチデバイスでの連携強化:スマートフォンからタブレットへのデータ転送等のサポート
  • ペアリングの簡単化:matter connect規格の採用、100以上のデバイスを簡単にペアリングできるように。
    • 編集注釈:Fast PairとMatterは2022 CESで公表していた内容のアップデートのようです。
    • 1台目のペアリングを簡単化すると共にペアリング済みデバイス間で連携することで安全性を保ちながら2台目以降の設定を簡略化してマルチデバイスでの体験を促進する仕組み
Fast PairではヘッドフォンやIoTデバイスなど家にあるデバイスを簡単にペアリングする(Keynoteより引用
matter connect対応は100以上(Keynoteより引用
スマートプラグなどホームデバイスとのペアリング方法が規格化され、より使いやすく(Keynoteより引用

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とエコシステムを整理します。

Androidのエコシステムを紹介(Developer Keynoteより引用

近年の傾向としてデバイスはスマートフォンだけでなく、WearやAndroid TV/Google TV、Large ScreenやChromeOS、Windowsなども対象にはいっており、多彩さが特徴です。また前述のとおり、IoT機器などはGoogleが提供するFast Pairなど(Google PlayのQRコードリーダー機能)でアプリという枠を越えた連携を目指しています。

Composeの適応範囲が更に拡大

Jetpack ComposeがWear OSにも対応(Developer Keynoteより引用

Jetpack ComposeはKotlin開発元のJetBrainsと協力しつつクロスプラットフォーム対応(Compose Multiplatform)を進めています。Google I/O 2022ではAndroidプラットフォームでのマルチデバイス対応の一環として、Compose for Wear OSが発表されました。2022年秋発売予定のPixel Watchと合わせて注目ですね。

ラージスクリーン対応を訴求

Android 12Lおよび13ではタブレットなどのラージスクリーンに最適化する新機能を追加しています。可変スクリーンサイズに対応する作業は開発者にとっては悩みのタネですが、タブレット等へデバイスに最適化することでユーザーエンゲージメント(定着率等)が向上するとしています。実際にeBayがタブレット対応したことで評価4.7を獲得した事例が紹介されていました。

Android 12Lおよび13のラージスクリーンむけ新機能(Developer Keynoteより引用

ラージスクリーンデバイスは市場で成長を続けており、注力分野のひとつです。これはタブレットだけではなくChrome OSなども考えるとたしかに勢いを感じる分野であることは間違いありません。アプリ開発者へのサポートを強化するためJetpack Window ManagerでのWindowサイズ標準化(Compact/Medium/Expanded)やベストプラクティスを紹介しています。

ラージスクリーンサポートの例(Developer Keynoteより引用

モバイルエンジニアにとってのレスポンシブデザイン対応はノウハウが溜まっていない状況です。基本的には工数がかかる大変な作業です。アプリユーザーの体験向上もメリットですが、GoogleではPlay Storeでのタブレット対応アプリ特集を組むなどアプリ開発者のビジネス拡大をサポートを表明しています。

Android Studio Electric Eel 新機能

開発者の生産性に直結する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から回転する
複数のデバイスを同時にプレビューするデモ(Developer Keynoteより引用

Device Monitoringでは実機にふれることなく画面確認、画面回転ができるなど利便性が高い機能です。UIコンポーネントのPreviewだけではなくて全体の動きを確認する際に活躍します。

LiveEditのデモではItem横幅(リテラル:300.dpから360.dpへサイズ)を即座に反映し、会場も盛り上がっています(Developer Keynoteより引用
Android Studio Electric Eelの新機能(※mhidaka注釈:リストにはChipmunkやDolphinの機能も含んでいます)Developer Keynoteより引用

ここで紹介された以外にも、Android StudioからFirebase CrashlyticsのクラッシュログにアクセスできるAndroidとFirebaseのインテグレーションも発表されました。クラッシュが多い箇所を視覚的にLintできるため品質改善の大きな手助けとなると期待できます。

What’s new in Android

Androidの技術的な情報まとめはDay.2のセッション公開とあわせて実施予定です。別記事をおまちください。読者のみなさんが調べやすいようにひとまず公式のポインタを残しておきます。

Google I/O 2022まとめ

今回のGoogle I/Oでは(Day.2のセッションはまだ公開されていないものの)セキュリティやプライバシーをどのように守るかという基軸部分はもちろん、ユーザーのプライバシー情報を販売しないという明確な意思表示があり、驚きました。

かなり思い切った意思表示(Keynoteより引用

収入源として広告は小さくありませんが適切なコントロールも困難です。BigTechが方針を明確にしてくれたこと、今回のKeynoteではMy Ad Centerといったユーザーが広告や個人情報をコントロールする手段を提供するとのことで、これは大きな前進です。データを守りながら技術で生活を良くしていくというビジョンは難しさもありますがKeynoteを見る限り期待して良いのではと感じています。

マルチデバイスという前提ではセキュリティやプライバシーへのアプローチは一層難しくなりますし、アプリ開発に身近なところでも2021年から2022年にかけて大規模なソフトウェアサプライチェーン攻撃(Log4jやトークン流出など)がありました。ソフトウェア開発でも複雑な、そして守るのも容易でないセキュリティインシデントが目立っています。アプリ開発者としても対策を講じる必要があることは明白でしょう。

Android 13ではセキュリティ強化に加えてアプリ体験を良くする(多くのデバイスに対応した)プラクティスが提供されており、今後の進化が楽しみです。Google I/Oで発表されたAndroid開発の技術セッションの詳細は後日のブログをお待ち下さい。引き続きI/Oを楽しみましょう!

https://io.google/2022/ より引用
mhidaka: Software Engineerだよ。DroidKaigi Organizer / Androidと組込とRe:VIEW。techbooster主宰。mhidaka's writings http://booklog.jp/users/mhidaka 技術書典! http://techbookfest.org