数か月前に、パーソナライズされた Android Bot を生成するアプリとして Androidify を再リリースしました。Androidify は、Gemini と Imagen を使用して、自撮り写真を遊び心のある Android Bot に変換します。
しかし、Android は、最新の XR を含む複数のフォーム ファクタに対応しているため、 Androidify の楽しさを Wear OS にもたらすにはどうすればよいかと考えました。
Androidify のウォッチフェイス
Androidify Bot は高度にパーソナライズされているため、ウォッチフェイスで表示するのが自然です。ウォッチフェイスは最も頻繁に表示されるサーフェスであるだけでなく、最もパーソナルなサーフェスでもあるため、自分の個性を表現できます。
自撮り画像から生成されたパーソナライズされた Androidify のウォッチフェイス
Androidify は、スマートフォン アプリ内でウォッチフェイスを動的に生成し、スマートウォッチに送信して、ウォッチフェイスとして自動的に設定できるようになりました。これらすべてが数秒で完了します。
設計の概要
ウォッチフェイスの作成とインストールのエンドツーエンド フロー
エンドツーエンドのエクスペリエンスを実現するには、この概要設計図に示すように、いくつかのテクノロジーを組み合わせる必要があります。
まず、ユーザーのアバターを既存のWatch Face Formatテンプレートと組み合わせて APK にパッケージ化します。これは検証され(理由については後述します)、スマートウォッチに送信されます。
スマートウォッチで受信すると、Wear OS 6 の一部である新しい Watch Face Push API を使用して、ウォッチフェイスをインストールして有効にします。
詳細を見てみましょう。
ウォッチフェイス テンプレートの作成
ウォッチフェイスはテンプレートから作成されます。テンプレート自体は Watch Face Designerで設計されています。これは、Figma 内でWatch Face Formatのウォッチフェイスを直接作成できる新しい Figma プラグインです。
Watch Face Designer の Androidify ウォッチフェイス テンプレート
このプラグインを使用すると、ウォッチフェイスをさまざまな方法でエクスポートできます。Watch Face Format(WFF)リソースとしてエクスポートすることも可能です。これらは、Androidify アプリ内のアセットとして簡単に組み込むことができ、最終的なウォッチフェイスを動的に構築できます。
パッケージ化と検証
テンプレートとアバターを組み合わせたら、Portable Asset Compiler Kit(Pack)を使用して APK を組み立てます。
Androidify では、Pack はスマートフォン上のネイティブ ライブラリとして使用されます。Androidify と Pack ライブラリのインターフェースの詳細については、GitHub リポジトリをご覧ください。
送信前の最後のステップとして、APK は Watch Face Push バリデータによってチェックされます。
このバリデータは、APK がインストールに適しているかどうかを確認します。これには、APK の内容をチェックして有効なウォッチフェイスであることを確認するだけでなく、パフォーマンス チェックも含まれます。有効な場合、バリデータはトークンを生成します。
このトークンは、インストール時にスマートウォッチで必要になります。
ウォッチフェイスの送信
Wear OS の Androidify アプリは、WearableListenerService を使用して、Wearable Data Layer のイベントをリッスンします。
スマートフォン アプリは、ウォッチフェイスを転送します。その際、プロセスを設定するためにMessageClientを組み合わせて使用し、その後ChannelClientを使用して APK をストリーミングします。
スマートウォッチへのウォッチフェイスのインストール
Wear OS デバイスでウォッチフェイスを受信すると、Androidify アプリは新しい Watch Face Push API を使用してウォッチフェイスをインストールします。
val wfpManager =
WatchFacePushManagerFactory.createWatchFacePushManager(context)
val response = wfpManager.listWatchFaces()
try {
if (response.remainingSlotCount > 0) {
wfpManager.addWatchFace(apkFd, token)
} else {
val slotId = response.installedWatchFaceDetails.first().slotId
wfpManager.updateWatchFace(slotId, apkFd, token)
}
} catch (a: WatchFacePushManager.AddWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
} catch (u: WatchFacePushManager.UpdateWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
}Androidify は、シナリオに応じて addWatchFace メソッドまたは updateWatchFace メソッドを使用します。Watch Face Push では、「スロット」という概念が定義されています。これは、特定のアプリがいつでもインストールできるウォッチフェイスの数です。Wear OS 6 の場合、この値は実際には 1 です。
Androidify のアプローチでは、空きスロットがある場合はウォッチフェイスをインストールし、ない場合は既存のウォッチフェイスを新しいものに置き換えます。
アクティブなウォッチフェイスの設定
ウォッチフェイスをプログラムでインストールすることは大きな一歩ですが、Androidify はウォッチフェイスがアクティブなウォッチフェイスでもあるようにします。
Watch Face Push では、アプリがこれを実現するために付与する必要がある新しい実行時の権限が導入されています。
com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE
この権限を取得すると、wfpManager.setWatchFaceAsActive() メソッドを呼び出して、インストールされたウォッチフェイスをアクティブなウォッチフェイスに設定できます。
ただし、Androidify が対応する必要がある考慮事項がいくつかあります。
setWatchFaceAsActiveは 1 回しか使用できません。- ユーザーが拒否した後、
SET_PUSHED_WATCH_FACE_AS_ACTIVEを再度リクエストすることはできません。 - Androidify がすでにアクティブなウォッチフェイスを制御している可能性があります。
詳細については、Androidify がアクティブなロジックを設定する方法をご覧ください。
Wear OS 向け Watch Face Push を使ってみる
Watch Face Push は汎用性の高い API であり、Androidify の機能強化にも、フル機能のウォッチフェイス マーケットプレイスの構築にも適しています。
既存のスマートフォン アプリがあり、ユーザーのエンゲージメントを高め、満足度を高める機会を探している場合。
または、マーケットプレイス アプリをリリースして独自のコミュニティとギャラリーを作成しようとしている既存のウォッチフェイス デベロッパーの場合。
次のリソースをご覧ください。
- Watch Face Push
- Watch Face Format - ウォッチフェイスの公開に関する今後のポリシー変更にもご注意ください。
- Watch Face Designer
- Androidify GitHub リポジトリ
- Androidify Google Play ストアの掲載情報
また、Androidify を Wear OS に導入した方法の詳細については、関連動画をご覧ください。
Watch Face Push でどのようなものが作成されるか楽しみです。
続きを読む
-
プロダクト ニュース
Google I/O 2026 では、Android がオペレーティング システムからインテリジェンス システムに移行したことを発表しました。また、システムでインテリジェントなエクスペリエンスをネイティブに構築し、Google の AI の力をアプリに活用する方法についても説明しました。
Jingyu Shi • 2 分で読了
-
プロダクト ニュース
Android XR で Unreal Engine と Godot の公式サポートが開始されました。また、生産性を向上させ、新しい XR 機能を実現するために設計された新しいツール、Android XR Engine Hub と Android XR Interaction Framework もリリースします。
-
プロダクト ニュース
Android 17 のリリースに伴い、アダプティブ ファーストの開発標準に移行します。ユーザーは単一のフォーム ファクタに依存しなくなり、1 日を通してスマートフォン、折りたたみ式デバイス、タブレット、ノートパソコン、自動車用ディスプレイ、没入型 XR 環境を切り替えます。
最新情報の入手
Android 開発に関する最新のインサイトを毎週メールでお届けします。