Wear アプリをパッケージ化して配信する

Wear OS を搭載したスマートウォッチでは、ユーザーが Play ストアにアクセスして、Wear アプリをスマートウォッチに直接ダウンロードできます。また、ウェブベースの Google Play ストアを使用してスマートウォッチにアプリを直接インストールすることもできます。

Play ストアに関する計画を立てる

スマートフォンとスマートウォッチの両方で動作する単一の APK を作成することはできません。

スマートウォッチ版の Google Play ストアにアプリを表示するには、他の APK と同じように、スマートウォッチの Android パッケージ キット(APK)を Google Play Console でアップロードします。スマートウォッチ APK のみが存在し、スマートフォン APK が存在しない場合、他の手順は必要ありません。

スマートウォッチ APK に加えてスマートフォン APK も存在する場合は、マルチ APK 配信方法を使用する必要があります。

Wear スマートウォッチへの配信

Wear OS を搭載したデバイスで、関連するスマートウォッチ アプリがあるスマートフォン アプリをインストールすると、利用可能なスマートウォッチ アプリに関する通知がスマートウォッチに表示されます。通知をタップすると、スマートウォッチ版の Play ストアが開き、スマートウォッチ アプリをインストールできます。

Google Play Console を使用してスマートウォッチ APK をアップロードする場合、Wear APK をスマートフォン APK とは別に更新できます。ユーザーはスマートウォッチ版の Google Play ストアを使用してアップデートを受け取ります。Google Play Console にアップデートをプッシュすると、ユーザーがスマートウォッチ版の Google Play ストアの設定で自動更新を無効にしていない限り、アプリが自動的に更新されます。ユーザーは Google Play ストアからアプリを手動で更新することもできます。

バージョン コードを指定する

スマートウォッチ APK のバージョン コードは、すべてのフォーム ファクタで一意である必要があります。バージョン コード スキームはスマートフォン APK のスキームから切り離すことができます。

Wear APK とコンパニオン APK がコードを共有しており、リリースの調整が必要な場合は、バージョン コードの下 2 桁を APK バリアント用に予約します。APK バリアントの例として CPU アーキテクチャがあります。詳しくはバージョン コード スキームの使用をご覧ください。

以下に、推奨されるバージョン コード スキームを示します。

  • バージョン コードの上 2 桁をtargetSdkVersion(例: 28)に設定します。
  • 次の 3 桁をプロダクト バージョンに設定します(例: プロダクト バージョンが 1.5.2 の場合は 152)。
  • 次の 2 桁をビルド番号またはリリース番号に設定します(例: 01)。
  • 最後の 2 桁は複数 APK バリアント用に予約します(例: 00)。

今回の例の値(28、152、01、00)を使用すると、バージョン コードは 281520100 となります。

詳しくは、アプリのバージョン情報を設定するをご覧ください。

スマートウォッチのターゲットを設定する

Android マニフェスト ファイルで uses-feature 要素を android.hardware.type.watch に設定する必要があります。required 属性は false に設定しないでください。Wear デバイスと Wear 以外のデバイス用に単一の APK を作成することはサポートされていません。

たとえば、次のサンプルに示す uses-feature 設定が APK に含まれている場合、Google Play は APK をスマートウォッチのみに提供します。

<manifest package="com.example.standalone"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-feature
        android:name="android.hardware.type.watch"/>
    ...
</manifest>

上のコードサンプルの android.hardware.type.watch 設定を、SDK バージョン、画面解像度、CPU アーキテクチャなどの他の基準と組み合わせます。すると、Wear APK ごとに異なるハードウェア構成をターゲットにできます。

アプリのスタンドアロン設定を指定する

Wear では、スマートウォッチ アプリの Android マニフェスト ファイルで、 meta-data 要素を <application> 要素の子として記述する必要があります。meta-data 要素の名前には com.google.android.wearable.standalone を指定し、値には true または false を指定する必要があります。この要素は、スマートウォッチ アプリがスタンドアロン アプリ(認証を含め、コア機能に別のデバイスを必要としない、スマートフォンなしで使用可能なアプリ)であるかどうかを示します。

com.google.android.wearable.standalone の値が false であっても、スマートフォン アプリをインストールする前にスマートウォッチ アプリをインストールすることは可能です。スタンドアロン設定の宣言とスマートウォッチ アプリの分類について詳しくは、スタンドアロンの Wear OS アプリとスタンドアロンではない Wear OS アプリをご覧ください。

注: Wear アプリに付属のスマートフォン アプリがある場合は、2 つのアプリに同じパッケージ名を使用する必要があります。

Google Play Console を使用する

Google Play Console を使用して、スタンドアロンの Wear APK をアプリの掲載情報にアップロードできます。

詳しくは、複数 APK サポートアプリを管理するをご覧ください。アップロードする前に APK が署名されていることを確認してください。

APK をアップロードして公開する

Google Play Console を使用した Wear APK のアップロードと公開は、モバイル APK の場合と同様のプロセスです。ただし、次の手順に沿って Google Play Console で Wear OS にオプトインする必要があります。

  1. Google Play Console で [設定] に移動し、クリックしてその他のオプションを開きます。
  2. [詳細設定] を選択し、[フォーム ファクタ] タブを選択して、[フォーム ファクタを追加] をクリックします。
  3. [Wear OS] をクリックします。

Wear OS アプリのスクリーンショットをアップロードし、アプリの Google Play ストアの掲載情報で Wear OS に言及します。詳しくは、Wear OS への配信をご覧ください。

Wear OS アプリが Play ストアで承認されない場合の主な理由

アプリが Play ストアで非承認となる可能性を減らすために、以下のリストを確認してください。また、Wear OS アプリの品質に関するページを参照し、アプリがこれらのガイドラインを遵守していることを確認してください。

ストアの掲載情報で「Wear OS」に言及していない

Wear アプリまたはスマートウォッチ アプリのストアの掲載情報で「Wear OS」に言及する必要があります。

基本的な機能が破綻している

これは幅広いカテゴリですが、アプリが正常に動作しない場合は承認されません。エミュレータと実機でアプリを徹底的にテストしてください。

また、アプリのスクリーンショットは実際のアプリの外観を反映したものにしてください。スクリーンショットが正確でない場合、アプリは「広告どおりに機能していない」と見なされ、承認されません。

Wear のスクリーンショットがない

Wear のスクリーンショットを含める必要があります。スクリーンショットの取得プロセスはモバイルアプリの場合と同様に、Android Studio から行えます。スクリーンショット用に複数の Wear スキンが用意されています。

円形ディスプレイ向けにフォーマットされていない

アプリが円形ディスプレイをサポートしていない場合は、必ずその旨を Google Play ストアの説明文に明記してください。明記されていないと、アプリのレイアウトが円形ディスプレイで正しくレンダリングされなかった場合、承認されません。

円形のデバイスまたはエミュレータでアプリをテストして、レイアウトが正しくレンダリングされることを確認してください。Android Studio の Layout Inspector に含まれる Wear OS レイアウトを使用します。詳しくは、Layout Inspector を開くをご覧ください。

機能要件が不足している

機能要件の不足としてよくあるケースは、Wear 向けに通知が拡張されていない場合です。Wear OS アプリの品質に関するガイドラインに従い、ユーザーがメッセージ アプリRemoteInput を使用して返信できるようにしてください。