Google Play にプログレッシブ ウェブアプリを掲載する

PWA を Google Play に掲載することで、世界最大のアプリストアでアプリが見つかるようになります。Google Play では、アプリの評価とレビューも提供されており、ユーザーは PWA をインストールする前にその内容を確認できます。最後に、Google Play にアプリを掲載すると、Google Play 請求サービスも利用できるようになります。これにより、ユーザーは使い慣れた決済プラットフォームを利用でき、複数の国からの支払いに対応できます。

エアキャップ

Bubblewrap は、プログレッシブ ウェブアプリを Android アプリバンドルにラップして、ChromeOS や Android の Play などのアプリストアで配信するための CLI です。Android アプリ開発の知識は必要ありません。

まず、NPM から Bubblewrap をインストールします。

$ npm install -g @bubblewrap/cli

プロジェクトを初期化するには、PWA のウェブアプリ マニフェストを入力として渡します。Bubblewrap は、PWA の Play パッケージをビルドするための Android プロジェクトを生成します。

$ bubblewrap init --manifest=""

次に、プロジェクトをビルドすると、Bubblewrap は Google Play にアップロードして配信できるパッケージ(APK または AAB)を作成します。

$ bubblewrap build

クイックスタート ガイドとコマンドの詳細については、公式の CLI ドキュメントをご覧ください。

ChromeOS のみ

プラットフォーム固有の Android アプリがすでに存在する場合や、モバイル エクスペリエンスを希望しない場合は、init コマンドに --chromeosonly フラグを追加することで、アプリを ChromeOS でのみ利用可能にできます。

$ bubblewrap init --manifest="" --chromeosonly

アプリをすでに初期化している場合は、twa-manifest.json ファイルで isChromeOSOnly フラグを true に設定し、Bubblewrap の update コマンドを実行することで、この設定を変更できます。

署名鍵

署名鍵は、アプリのオリジナル作成者を指定するもので、アプリに対するアップデートには、オリジナルの署名鍵を使用する必要があります。プロジェクトを初期化する際に、Bubblewrap は既存の鍵を尋ねるか、新しい鍵を作成します。

この鍵を保護し、紛失しないようにすることが非常に重要です。この鍵を紛失すると、Google Play でのアプリケーションの更新が非常に困難になる可能性があります。

デジタル アセット リンクを設定するには、複数の手順が必要です。Google Play からアプリに関する情報を収集し、ウェブ アプリケーションの特定の場所にファイルをデプロイする必要があります。PWA の Digital Asset Links を設定する方法については、以下の動画をご覧ください。

この動画の公開以降、Bubblewrap ではデジタル アセット リンク ファイルが自動的に生成されなくなりました。代わりに、ツールの fingerprint コマンドを確認してください。

Google Play へのアプリの公開

Google Play でアプリを公開する準備ができたら、次の手順を行います。

これで、Google Play でアプリをリリースできるようになりました。まず、信頼できるテスターのリストを使用してテストトラックにリリースし、アプリが想定どおりに動作することを確認することをおすすめします。

注: Google Play で公開される PWA に有料アプリ オプションを使用することはおすすめしません。インストールされた PWA はユーザーのブラウザからアクセスできる必要があります。ナビゲーションが Google Play でインストールされたアプリから発生したかどうかを判断する唯一の方法はクライアントサイドのチェックに依存しており、すべてのナビゲーションで実行されるとは限りません。そのため、他の有料アプリと同じようにアクセスを制限する安全な方法はありません。代わりに、アプリ内購入や定期購入を通じて収益化することをおすすめします。

ChromeOS 用 PWA とプラットフォーム固有の Android アプリを 1 つのリスティングに表示

プラットフォーム固有の Android アプリケーションで Android 向けにすでに確立されたプレゼンスがあり、Chromebook のみを対象とした PWA を Google Play でリリースしたい場合は、同じリスティングですべてを行うことができます。PWA をパッケージ化する際は、前述の ChromeOS 専用フラグを使用してください。これにより、PWA バージョンは Chromebook でのみ利用可能になります。Google Play ストアの掲載情報を共有する PWA と Android アプリの両方で、同じ署名鍵を使用する必要があります。

警告: ChromeOS 専用アプリよりもバージョン番号が大きいモバイル Android アプリをアップロードすると、モバイル Android アプリが Chromebook にも対応している場合、ChromeOS 専用アプリが置き換えられます。ベスト プラクティスとして、ChromeOS アプリのバージョンをモバイル Android アプリのバージョンより数バージョン高く設定します。たとえば、Android のバージョンが 1 の場合、ChromeOS のバージョンは 1000 にします。その後、それぞれの新しいリリースを作成する際に、ChromeOS のバージョンが常に大きくなるように、バージョン番号を適宜増やすことができます。Google Play がアプリを配信する際は、指定されたデバイスに対応している最も高いバージョンが使用されます。

ChromeOS リリースを作成する際は、最新の Android App Bundle を含めるようにしてください。最新のモバイル パッケージが ChromeOS リリースに含まれていない場合、モバイル Android デバイスのユーザーはアプリをインストールできません。[以前のリリース] セクションで、最新の Android モバイル バージョンに対応する APK または AAB を見つけて [含める] を選択します。

Google Play Console で新しいリリースを作成する際に、以前のリリースから APK または AAB を含めることができます。

同様に、Android リリースを作成する際も、ChromeOS 向けにリリースされた最新の App Bundle を含める必要があります。そうしないと、ChromeOS ユーザーがデバイスにアプリを初めてインストールする際に、ChromeOS アプリではなく Android アプリがインストールされます。

Google Play のお支払いに関するポリシーへの準拠

PWA で Google Play のお支払いに関するポリシーの対象となるデジタル アイテムを販売する場合は、リリース前に Google Play 請求サービスをアプリに統合する必要があります。詳しくは、Google Play 請求サービスをウェブアプリと統合するをご覧ください。

Google Play で PWA を更新する

ユーザーは Google Play から PWA をインストールした後、ライブ ウェブアプリを使用するため、デプロイしたアプリを更新する必要があるシナリオはほとんどありません。たとえば、次のような場合です。

  • アプリのリリースから 1 年以上経過している場合。この場合は、アプリが最新の Android SDK で動作するように更新する必要があります。
  • 同じリスティングにモバイル専用パッケージと Chrome OS 専用パッケージがあり、プラットフォーム固有の Android バージョン番号が Chrome OS 専用 PWA バージョンを超えている場合。この場合は、PWA のバージョンを上げてアプリを再デプロイする必要があります。その際、プラットフォーム固有の Android アプリのリリースは保持されます。
  • 新機能を利用したい場合。
  • ウェブアプリ マニフェストを変更した場合(アイコンやテーマカラーの更新など)に、それらの変更を Google Play の PWA に適用したい場合。この場合は、Bubblewrap プロジェクトを再コンパイルしてアプリを再デプロイする必要があります。