このガイドでは、Watch Face Format を使用してウォッチフェイスを構成するのに必要なツールの手順、プロジェクト構造に関する推奨事項、その構造を作成するツールを適用するための手順ガイドを示します。
前提条件
Watch Face Format の使用に対する開発環境を整えるには、次のセットアップ手順を完了してください。
Android 14(API レベル 34)以降に対応する SDK をインストールします。お使いのウォッチフェイスが バージョン 2 に固有の機能や動作に依存していない場合は、 代わりに Android 13(API レベル 33)用の SDK をインストールしてください。
この SDK には、
aapt2
やandroid.jar
など、その他の必要なツールが含まれています。または、Android Studio をインストールします。Android Studio では、 できます。
プロジェクトの構造
Watch Face Format を使用するカスタム ウォッチフェイスを作成する場合、カスタム ウォッチフェイス ファイルを含む Android App Bundle は、Wear OS アプリのロジックを含む Android App Bundle から完全に分離する必要があります。Google Play を含む一部のアプリストアでは、Wear OS ロジックとカスタム ウォッチフェイスの両方が含まれる Android App Bundle はアップロードできません。
ウォッチフェイス バンドルを作成する
ウォッチフェイス ファイルを備えた Android App Bundle を作成するには、以下のセクションに示す手順を完了してください。
Watch Face Format の使用を宣言する
新しいアプリのマニフェスト ファイル(AndroidManifest.xml
)にアプリを追加します。
Watch Face Format の使用を示しています。許可しない場合は、
Wear OS 5 以降を搭載したデバイスでのウォッチフェイスへのアクセスを制限する
2 つの異なるウォッチフェイス APK(1 つはバージョン 2 をサポートし、もう 1 つはバージョン 2 をサポート)を作成する
サポートしています。詳しくは、アプリのバージョンを設定する方法をご覧ください。
<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest ...> <!-- Use SDK version 34 for version 2 of WFF, and SDK version 33 for version 1 of WFF --> <uses-sdk android:minSdkVersion="34" android:targetSdkVersion="34" /> <!-- WFF is a resource-only format, so the hasCode attribute should be set to false to reflect this. --> <application android:label="@string/watch_face_name" android:hasCode="false" ...> <meta-data android:name="com.google.android.wearable.standalone" android:value="true" /> <property android:name="com.google.wear.watchface.format.version" android:value="2" /> </application> </manifest>
ウォッチフェイスのメタデータを宣言する
アプリの res/xml
リソース ディレクトリに watch_face_info.xml
という新しいファイルを作成します。ここでは、ウォッチフェイスのメタデータを定義します。
<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
<!-- Only "Preview" is required. -->
<Preview value="@drawable/watch_face_preview" />
<Category value="CATEGORY_EMPTY" />
<AvailableInRetail value="true" />
<MultipleInstancesAllowed value="true" />
<Editable value="true" />
</WatchFaceInfo>
このファイルのフィールドは、次の詳細を表しています。
Preview
- ウォッチフェイスのプレビュー画像を含むドローアブルを参照します。
Category
ウォッチフェイスのカテゴリを定義します。文字列か、
@string/ref_name
などの文字列への参照を指定する必要があります。各デバイス メーカーは、それぞれ独自のウォッチフェイス カテゴリのセットを定義できます。デフォルト値:
empty_category_meta
。ウォッチフェイス選択ツールビューの一番下に、このウォッチフェイスを他の「空のカテゴリ」のウォッチフェイスと一緒にグループ化します。AvailableInRetail
デバイスの販売店デモモードでウォッチフェイスを使用できるかどうか。 ブール値、または
@bool/watch_face_available_in_retail
などのブール値への参照である必要があります。デフォルト値:
false
MultipleInstancesAllowed
ウォッチフェイスに複数のお気に入りを登録できるかどうか。ブール値、または
@bool/watch_face_multiple_instances_allowed
などのブール値への参照である必要があります。デフォルト値:
false
Editable
ウォッチフェイスが編集可能かどうか(つまり、ウォッチフェイスの設定や固定されていないウォッチフェイスの追加機能が 1 つ以上あるかどうか)。これは、お気に入りリストにあるウォッチフェイスの [編集] ボタンを表示または非表示にするために使用されます。
デフォルト値: false
ウォッチフェイス名を宣言する
アプリのマニフェスト ファイル(AndroidManifest.xml
)では、android:label
属性をウォッチフェイスの名前に設定します。
<application android:label="@string/watch_face_name" >
ウォッチフェイスの形状に関するサポートを宣言する(省略可)
この手順は、サービスごとに異なる動作をサポートする場合にのみ必要です。 さまざまなサイズのウォッチフェイス次の場合はこの手順をスキップできます。 ウォッチフェイスのサイズを スマートウォッチのサイズに合わせて調整できます
アプリの res/xml
リソース ディレクトリで、ウォッチフェイスのセットを宣言します。
watch_face_shapes.xml
でサポートされているシェイプ:
<WatchFaces>
<!-- The default shape is "CIRCLE". -->
<WatchFace shape="CIRCLE" width="300" height="300"
file="@raw/watchface"/>
<WatchFace shape="CIRCLE" width="450" height="450"
file="@raw/watchface_large_circle"/>
<WatchFace shape="RECTANGLE" width="380" height="400"
file="@raw/watchface_rectangle"/>
</WatchFaces>
ウォッチフェイスの詳細を宣言する
アプリの res/raw
リソース ディレクトリに、
ウォッチフェイスのサポートを宣言する場合に使用する file
属性値
適用できます。
ここでは、アプリのウォッチフェイスの外観と動作を
定義できます。シェイプ ファイルを定義していない場合は、
watchface.xml
という 1 つのファイルが作成されます。
このページの例を使うと、未加工の XML ファイルは次のようになります。
res/raw/watchface.xml
res/raw/watchface_large_circle.xml
res/raw/watchface_rectangle.xml
ルート要素は常に WatchFace
です。
<WatchFace width="450" height="450" clipShape="CIRCLE">
<!-- Remainder of your Watch Face Format definition here. -->
<!-- If this file defines a watch face for a circular device shape, place
resources used in this file in the "/res/drawable-nodpi" directory. -->
<!-- If this file defines a watch face for a rectangular or other
non-circular shape, place resources ued in this file in the
"/res/drawable-notround-nodpi" directory. -->
</WatchFace>
ウォッチフェイスのパブリッシャーを特定する(省略可)
必要に応じて、アプリのマニフェスト ファイルで、ウォッチフェイスのパブリッシャーの特定に使用できる任意の文字列、または使用するツール名とバージョンを宣言します。
<application ...> ... <property android:name="com.google.wear.watchface.format.publisher" android:value="{toolName}-{toolVersion}" /> </application>
ウォッチフェイスの正確性とパフォーマンスを確認する
開発時および Google Play にアップロードする前に、検証ツール ツールを使用して、ウォッチフェイスにエラーがないことを メモリ使用の推奨事項に準拠しています
- 詳しくは、メモリ使用量の最適化とメモリ使用量の確認をご覧ください。 公開の準備をします
- 開発作業で XML Validator を使用する方法を確認する サイクルです。
ウォッチフェイスの App Bundle をビルドする
ウォッチフェイスを含む Android App Bundle をビルドするには、 Gradle ビルドシステム。詳しくは、Android Studio を使用してアプリをビルドする Gradle を使用します。
これについては、GitHub のサンプルをご覧ください。
あなたへのおすすめ
- 注: JavaScript がオフになっている場合はリンクテキストが表示されます
- AAPT2
- Jetpack Compose の基本
- CameraX のスタートガイド