プロダクト ニュース

Wear OS 7 の新機能

所要時間: 9 分
John Zoeller のプロフィールを表示
John Zoeller Wear OS デベロッパー リレーションズ エンジニア

このたび、Wear OS 7 を発表いたします。このメジャー アップデートにより、ユーザーとデベロッパーの両方に、電力効率とインテリジェンスの新時代が到来します。

スマートウォッチはユーザーにとって一日中欠かせない相棒であると Google は認識しています。そのため、Google は電力最適化への投資を継続し、ユーザーがお気に入りのアプリをより長く利用できるようにしています。Wear OS 6 から Wear OS 7 にアップグレードするスマートウォッチでは、平均的なユーザーでバッテリー駆動時間が最大 10% 向上することが期待できます。

また、Android エコシステムへの広範な展開の一環として、今年後半にリリースされる一部のスマートウォッチには Gemini Intelligenceが搭載されます。これにより、ユーザーは重要なことに集中できるよう、ユーザーに合わせたサポートが提供されます。

Wear OS 7 では、新しいシステム機能と強化されたデベロッパー ツールが導入されます。ライブ アップデートなどの新しいユーザー向け機能や、強化されたメディア コントロールにより、手首でよりスマートで直感的な操作が可能になります。また、Wear Compose 1.6 や AppFunctions などのデベロッパー ツールキットの機能強化により、デベロッパーは手首でのアプリ エクスペリエンスを効率化できるようになります。  

詳しく見ていきましょう

Wear OS 7 Canary

Google のスマートウォッチ プラットフォームの次期バージョンである Wear OS 7 Canary Emulator をお試しいただけるようになりました。このエミュレータは、今年後半にリリースされる Android 17 をベースとしています。  

新しいエミュレータを使用すると、アプリの互換性をテストしながら、上記のデベロッパー機能やツールを実際に試すことができます。  

変更内容をご確認のうえ、今すぐアプリのテストを開始してください。

Wear OS の新機能を確認する

Wear OS ウィジェット

Widgets (1).png

全画面表示のタイルは、Wear OS の主要なサーフェスとして、ユーザーが重要な最新情報を一目で確認できる手段を提供してきました。Android エコシステムがウィジェットの統一ビジョンに向かう中、Google はデベロッパーの負担を最小限に抑えることを目指し、スマートウォッチを他の Android ファミリーに近づけています。

本日、タイルを進化させた、柔軟で動的な Wear ウィジェットをご紹介します。

Jetpack Glance と新しい RemoteCompose フレームワークを搭載した Wear ウィジェットは、Tiles ProtoLayout ライブラリよりも表現力が高く、Compose との整合性も優れています。Wear ウィジェットでは、モバイルの 2x1 と 2x2 の形式に完全に一致する 2 つの新しいカード レイアウト(小と大)がサポートされています。これにより、デバイス間でデザインの一貫性を保ちながら、手首向けにデザインを最適化できます。

フルスクリーン タイルの mainSlot から 2x2 ウィジェットに UI を簡単に適応させることができます。ぜひご覧ください。

widgets code (1).png

新機能の詳細については、今週後半に公開されるウィジェットの I/O トークをご覧ください。また、ウィジェット スタートガイドを試して、Wear OS エクスペリエンスにウィジェットを追加してみてください。

リアルタイムの更新情報

Live Updates Blog post (1).png

Wear OS 7 では、スマートウォッチにライブ情報が導入されます。

ライブ アップデートを使用すると、スマートウォッチやモバイルアプリから重要な情報をリアルタイムで表示し、ユーザーに最新情報を一目で確認できるようにすることができます。

スマートウォッチ アプリでは、Ongoing Activities API ではなく Live Updates を使用して、すべての Wear 7 デバイスでローカル アップデートの公開を提供します。対応する OEM の場合、スマートフォン アプリによって公開されたライブ アップデートは、ユーザーのスマートウォッチにもブリッジされます。

上の Just Eat の例で、ユーザーに最新情報を提供する方法をご確認ください。

詳しくは、Wear OS の通知をご覧ください。

アプリをインテリジェンス システムに接続する

Google では、AppFunctions からタスク自動化ツールまで、デベロッパーがスマートウォッチでエージェント エクスペリエンスを提供するためのさまざまな方法に取り組んでいます。

これらの機能が利用可能になったら、デベロッパー ブログでお知らせします。また、適切な機能を選択して堅牢な実装を行うための包括的なデベロッパー ガイドも提供します。現時点での簡単な回避策は次のとおりです。

AppFunctions

Watch_IO26_Samsung_App_Functions (1).gif

AppFunctions API を使用すると、デベロッパーはアプリを Google Gemini などのエージェントやアシスタントと統合できます。これにより、ユーザーは音声を使用してタスクを完了できるようになり、多くの場合、UI を使用したステップバイステップの手動ナビゲーションの必要性がなくなります。  

たとえば、Samsung Health アプリでランニングを開始するには、「ランニングのトラッキングを開始して」と Gemini に話しかけます。

現在、ご希望のデベロッパーを対象に早期アクセス プログラムを実施しています。ご興味のある方は、こちらのフォームからご登録ください。

タスクの自動化

Watch_IO26_RemoteBonobo_Doordash_onBG_a22_GIF (1).gif

また、まもなく、開発作業をまったく行わずに、選択したスマートフォン アプリの自動アプリタスクをスマートウォッチから直接呼び出して追跡できるようになります。たとえば、DoorDash で注文するなどです。

アプリを Android インテリジェンス システムに接続して準備するための柔軟なオプションについては、デベロッパー ブログでご確認ください。

Wear ワークアウト トラッカー

Watch_IO26_SystemFitnessTracker_onBG_a05 (1).gif

Wear OS でフル機能の高品質なフィットネス トラッキング エクスペリエンスをゼロから構築するには、多くのリソースが必要となるため、Google はエクササイズ アプリ向けにまったく新しい Wear ワークアウト トラッカー エクスペリエンスを構築しました。この機能は、今年後半に Wear OS に搭載される予定です。

ワークアウト トラッカーは、心拍数のモニタリング、メディア コントロール、その他の便利な機能など、標準化された豊富なワークアウト トラッキング エクスペリエンスを提供します。これにより、開発投資を削減しながら、ユーザーに高品質のエクスペリエンスを提供できます。

ASICS Runkeeper と緊密に連携して、ユーザーの皆様に提供できるよう取り組んでいます。ぜひお試しください。

Wear OS 7 で強化されたシステム メディア コントロール

Wear OS 7 では、システム メディア コントロールが強化され、ユーザーはメディアをよりシームレスに操作できるようになります。

アプリごとのメディア自動起動コントロール

Watch_IO26_AutoLaunch_Media_onBG_a05 (1).gif

スマートウォッチのシステム メディア コントロールから、アプリごとにメディアの自動起動をカスタマイズできるようになりました。

ユーザーが [自動起動の設定] をオンにしているアプリでは、スマートフォンでメディアが開始されると、スマートウォッチにメディア コントロールが自動的に表示されます。

スマートウォッチで拡張されるメディアアプリをすでに実装しているデベロッパーは、追加の作業なしでこの機能を利用できます。

リモート出力スイッチャーによるシームレスな音声ルーティング

Remote Output Switcher (1).png

システム メディア コントロールに統合された新しいリモート出力スイッチャーにより、オーディオ出力の管理がこれまで以上に簡単になりました。

ペア設定したスマートフォンでメディアを聴いているときに、手首からメディアの再生デバイスを簡単に切り替えることができます。

UI ライブラリの更新

ユーザー向けのこれらの新機能に合わせて、デベロッパーが Wear OS の将来に備えることができるよう、デベロッパー ツールキットに強力な機能強化を導入します。

Wear OS 向け Compose 1.6

Wear OS 開発の基盤として、Wear OS 向け Compose 1.6 がリリースされました。

このアップデートには、以下のような強力な機能が含まれています。

Navigation 3 によるシンプルなナビゲーション

デベロッパーは Navigation 3 と統合して、Wear OS でのナビゲーションをより柔軟かつ Compose らしい方法で処理できます。

@Composable
fun WearApp() {
    val backStack = rememberNavBackStack(MenuScreen)

    WearAppTheme {
        AppScaffold {
            val entryProvider = remember {
                entryProvider<NavKey> {
                    entry<MenuScreen> { GreetingScreen() }
                    entry<ListNavScreen> { ListScreen() }
                }
            }

            val swipeDismissableSceneStrategy = 
                rememberSwipeDismissableSceneStrategy<NavKey>()

            NavDisplay(
                backStack = backStack,
                entryProvider = entryProvider,
                sceneStrategies = listOf(swipeDismissableSceneStrategy)
            )
        }
    }
}

TransformingLazyColumn のリスト管理の改善

TransformingLazyColumn を使用した高度なリスト管理が大幅に改善されました。これには、新しい minimumVerticalContentPadding 修飾子によるパディングのサポートの強化や、スナップや逆レイアウトなどの新機能が含まれます。

val listState = rememberTransformingLazyColumnState()
val transformationSpec = rememberTransformationSpec()

/*
 * TransformingLazyColumn takes care of the horizontal and vertical
 * padding for the list and handles scrolling.
 */
ScreenScaffold(scrollState = listState) { contentPadding ->
    TransformingLazyColumn(
        state = listState,
        contentPadding = contentPadding
    ) {
        item {
            ListHeader(
                modifier = Modifier
                    .fillMaxWidth()
                    .transformedHeight(this, transformationSpec)
                    .minimumVerticalContentPadding(
                        ListHeaderDefaults.minimumTopListContentPadding
                    ),
                    transformation = SurfaceTransformation(transformationSpec)
            ) { Text(text = "Header") }
        }
    }
}

LocalAmbientModeManager でアンビエント エクスペリエンスを最適化する

まったく新しい LocalAmbientModeManager は、アンビエント フローの処理に最適化されており、デベロッパーはアンビエント エクスペリエンスをユーザーにどのように表示するかをより詳細に制御できます。

 
override fun onCreate(savedInstanceState: Bundle?) {
    setContent {
        val ambientModeManager = rememberAmbientModeManager()
        CompositionLocalProvider(LocalAmbientModeManager provides ambientModeManager) {
            val localAmbientModeManager = LocalAmbientModeManager.current
            val ambientMode = localAmbientModeManager?.currentAmbientMode

            Column(
                verticalArrangement = Arrangement.Center,
                horizontalAlignment = Alignment.CenterHorizontally,
                modifier = Modifier.fillMaxSize(),
            ) {
                val ambientModeName =
                    when (ambientMode) {
                        is AmbientMode.Interactive -> "Interactive"
                        is AmbientMode.Ambient -> "Ambient"
                        else -> "Unknown"
                    }

                val color = if (ambientMode is AmbientMode.Ambient) Color.Gray
                    else Color.Yellow
                Text(text = "$ambientModeName Mode", color = color)
            }
        }
    }
}

Protolayout とタイルの更新

デベロッパーの皆様には新しい Wear ウィジェットの採用をおすすめしますが、Protolayout ライブラリと Tiles ライブラリのサポートはしばらく継続します。また、両ライブラリの新しい安定版もリリースされています。

Protolayout 1.4Tiles 1.6 が連携して、次のような注目すべき新機能を提供します。

  • インライン画像リソース: ImageResource をレイアウト内に直接インライン化できるようになりました。また、タイルは ProtoLayoutScope を介したリソースの自動収集をサポートするようになり、リソースの手動マッピングや個別のメソッドへの分割が不要になりました。コード品質の向上に加えて、システムからプロバイダ サービスへの単一のバインダ呼び出しに統合することで、タイルの読み込みレイテンシが改善されます。
  • Material3TileService: タイルは Material3TileService として実装できます。これは、タイル レイアウトとリソースの両方を返す包括的な一時停止関数であり、MaterialScope と ProtoLayoutScope を自動的に管理して開発エクスペリエンスを簡素化します。
  • 動的サービス切り替え: Wear 7 では、マニフェストで複数の TileService インスタンスをグループ化して、同じタイルを表す異なるサービス間の動的な切り替えを有効にできるようになりました。

新しいタイルのサンプルはこちらでご確認ください。

WFF 5

Watch Face Format バージョン 5(WFF5)がリリースされました。ウォッチフェイスの作成を容易にするさまざまな新機能が追加されています。

  • 配置オプションの強化: TextCircular などのテキスト要素に、複数のテキスト要素の同じベースラインでの verticalAlign など、配置オプションが追加されました。
  • 自動サイズ調整の機能強化: isAutoSize を TextCircular で使用できるようになりました。また、自動サイズ調整が有効になっている場合に最小サイズを制限する新しい属性 minSize が Font 要素に追加されました。
  • ブレンドモード: Group 要素と ComplicationSlot 要素が、Part* 要素の既存のサポートに加えて、ブレンドモードをサポートするようになりました。
  • ストローク結合: Stroke 要素と WeightedStroke 要素に結合属性が追加されました。
  • 階層設定: ユーザー スタイルを階層構造にできるようになりました。一部の設定は、他の設定に特定の値が設定されている場合にのみ表示されます。ユーザー スタイルで、コンプリケーション スロットを有効または無効にできるようになりました。これらは、ユーザー スタイル オプションの childSettingIds と complicationSlotIds を使用して構成できます。

WFF 5 について詳しくは、新しいデベロッパー ガイダンスをご覧ください。

Wear OS 7 向けの開発を今すぐ開始

これらのアップデートにより、Wear OS でアプリを開発する絶好の機会が到来しました。技術リソースは、開始方法の詳細を確認するのに最適です。

Wear OS で構築されるエクスペリエンスを楽しみにしています。

作成者:
続きを読む