開発者コンソール

Amazonアプリストアの段階的ロールアウトに関する開発者ガイド

Behyad Ebadifar Sep 26, 2023
Share:
How to Best practices
Blog_Header_Post_Img

モバイルアプリのアップデートや新機能をユーザーに提供する際は、慎重に考え抜かれたアプローチが必要です。Androidアプリ開発者の間でよく使われる方法の1つに、リリース管理での「段階的ロールアウト」というアプローチがあります。この記事では、段階的ロールアウトの概要と重要性、および開発者とユーザーの双方にもたらされるメリットについて説明します。

Amazonアプリストアの段階的ロールアウトとは

段階的ロールアウトは、アプリのアップデート版を全ユーザーに向けて公開する前に、一定数のユーザーに段階的にデプロイできるようにするリリース戦略です。一度にすべてのユーザーにアップデートを配信するのではなく、アップデートを受け取るユーザーの割合を選択して、段階的に配信することが可能です。たとえば、最初は5%のユーザーにのみアップデートを公開し、10%、20%と徐々に公開範囲を拡大しながら、最終的に100%のユーザーに完全公開できます。

段階的ロールアウトのメリット

最初にごく一部のユーザーベースにアップデート版をリリースすることで、広範囲にリリースを行う前に、予期せぬバグや互換性の問題をすばやく特定して対処できるようになります。段階的ロールアウトを実装すると、実際に使用したユーザーから貴重なフィードバックを得られるため、ユーザーの反応や行動を基にしてアプリを微調整できます。また、段階的ロールアウトを利用することで、回避可能なアプリの大規模な不具合の発生リスクを軽減させることができます。重大な問題が特定された場合は、多くのユーザーに影響を与える前にアプリのロールアウトを停止できます。さらに、各段階でアプリのパフォーマンス、サーバー負荷、ネットワーク使用状況の診断を綿密にモニタリングして、アップデートを最適化することも可能です。

段階的ロールアウトにおける考慮事項

  • ユニークダウンロード数が10,000以上:段階的ロールアウトは、Amazonアプリストアで現在公開中のアプリの過去3年間におけるユニークダウンロード数が、10,000以上の場合にのみ利用可能です。ユニークダウンロード数が10,000以上になって初めて、段階的ロールアウトのデータが有意であると見なされます。
  • ロールアウトの対象ユーザー:ロールアウトは、アプリをダウンロード済みのユーザーと、アプリの要件に基づくサポート対象デバイスを持つ見込みユーザーに適用されます。ユーザーは、アプリの配信先として選択した国から選ばれます。
  • Amazonアプリストアによる認定:段階的ロールアウトの開始時および編集時は、Amazonアプリストアの審査と承認プロセスを経る必要があります。 段階的ロールアウトの公開範囲を拡大する際には、審査や承認は不要です。  
  • AAB/APKファイル:段階的ロールアウトの対象ユーザーには、現在公開中のアプリのメタデータ(アプリの説明、画像とマルチメディア、配信地域、価格、デバイスサポートのオプションなど)が表示されますが、対象ユーザーが受け取るのは、段階的ロールアウト用のAAB/APKファイルだけです。 段階的ロールアウトは、Android AAB/APKのみで利用可能です。ウェブアプリでは利用できません。
  • コンテンツレーティング:段階的ロールアウトでは、アプリのコンテンツレーティングを変更することはできません。

段階的ロールアウトのベストプラクティス

  1. テストとQAの実施:最初のロールアウトの前に、アップデートを入念にテストします。早期の段階で潜在的な問題を検出できるように、ベータ版のテスターまたはインターナルのテストグループによるライブアプリテスト(LAT)の使用を検討してください。
  2. リリース目標を定義:段階的ロールアウトの目標を定めます。新機能のテスト、パフォーマンス改善の検証、ユーザーからのフィードバックの評価といった要素を考慮してください。
  3. 最初のロールアウトの公開範囲は1~10%に設定:最初はユーザーベース全体の1~10%から開始し、問題がなければ、その後徐々に公開範囲を拡大していきます。
  4. パフォーマンスをモニタリング:分析ツールを使用して、各段階でのアプリのパフォーマンスをトラッキングします。クラッシュレポート、アプリの応答性、ユーザーエンゲージメントといった指標に注目してください。このデータをアプリの以前のバージョンと比較して、異常を特定します。
  5. 繰り返し改良を行う:フィードバックとパフォーマンスデータを基に、必要に応じてアップデート版を繰り返しリリースします(後述の「段階的ロールアウトの停止」を参照)。
  6. サーバーをモニタリング:ロールアウトの実施中はサーバーのパフォーマンスとスケーラビリティを常に確認し、インフラストラクチャがサーバー側の更新を確実に処理できるようにします。
  7. ロールバック計画を立てる:ロールバックは、アップデートのデプロイ後にアプリを以前のバージョンに戻すプロセスです。アップデートを直ちに元に戻す必要がある重大な問題が発生した場合に備えて、ロールバック計画を立てておくことが重要です(後述の「段階的ロールアウトのロールバック手順」を参照)。

Amazonアプリストアでの段階的ロールアウトの開始方法

段階的ロールアウトを開始するには、開発者コンソールでアプリの次期バージョン追加時と同じプロセスを実行します。段階的ロールアウトを始める場合は、[確認と申請] > [段階的ロールアウト] の順にクリックします。

Step 4 Review & Submit

 
1. [段階的ロールアウト] ダイアログボックスで、アップデートの公開範囲を選択します。1%、5%、10%、20%、50%から選択できます。

Selecting the percentage in a staged rollout

 

2. [公開] をクリックします。申請したアプリがAmazonアプリストアによる審査と承認を受けるためのキューに入ります。申請が承認されると、選択した公開範囲に基づいて段階的ロールアウトがデプロイされます。注: 公開日時(例えば二週間先など)を入力すると、アプリが承認されても、段階的ロールアウトはその日時まで開始されません。

3. ロールアウトに問題がなければ、公開範囲の拡大を検討します。

a) 開発者コンソールで該当する段階的ロールアウト時のバージョンに移動します(段階的ロールアウトの詳細の確認を参照)。

b) [段階的ロールアウト] ボタンをクリックして、[段階的ロールアウトの公開範囲を拡大] を選択します。

c) [段階的ロールアウト] ダイアログボックスで、アップデートの公開範囲を選択します。段階的ロールアウトの公開範囲を拡大する際に、Amazonアプリストアによる審査や承認は不要です。

段階的ロールアウトの停止

計画とテストを綿密に行っても、ロールアウトプロセス中に予期せぬ問題が発生することがあります。このような場合、段階的ロールアウトをすみやかに中止する方法を知っていれば、ユーザーエクスペリエンスに潜在的な悪影響が及ぶことを防ぎ、アプリの評価を守ることができます。

よくある問題:

1. 重大なバグ:アプリの機能、安定性、セキュリティに深刻な影響を与える重大なバグがある場合は、ロールアウトを即座に停止する必要があります。

2. パフォーマンスの問題:アップデート後にアプリのパフォーマンスが大幅に低下した場合は、ユーザーエクスペリエンスの低下を防ぐため、ロールアウトの停止が必要になります。

3. ユーザーからのフィードバック:ロールアウトの実施中はユーザーからのフィードバックに細心の注意を払ってください。複数のユーザーから同様の問題が報告された場合は、調査のためにデプロイの停止が必要になることがあります。

4. サーバーの過負荷:アプリからの大量のリクエストが原因でサーバーが予期せず過負荷状態になった場合は、アプリのパフォーマンスに悪影響が及ぶ可能性があります。ロールアウトを停止することで、サーバーへの負担を軽減し、さらなる問題の発生を防ぐことができます。

段階的ロールアウトの停止手順:

AAB/APKファイルの更新など、タブの情報を変更する場合は、[段階的ロールアウト] メニューで [段階的ロールアウトを停止] を選択し、段階的ロールアウトを停止してから、[段階的ロールアウトを編集] を選択する必要があります。

1. 開発者コンソールで該当する段階的ロールアウト時のバージョンに移動します(段階的ロールアウトの詳細の確認を参照)。

2. [段階的ロールアウト] をクリックして、[段階的ロールアウトを停止] を選択します。次に表示される [段階的ロールアウトを停止] のダイアログボックスで、[停止] をクリックします。

3. 同じ [段階的ロールアウト] のドロップダウンメニューから、[段階的ロールアウトを編集] を選択します。

4. タブが編集可能になったら、AAB/APKファイルを更新できます(例:検出した問題を修正したファイルに置き換えるなど)。段階的ロールアウトの再開準備が整ったら、[段階的ロールアウトを再申請・再開] オプションが表示されます。

5. 段階的ロールアウトを再開する場合、初めて申請したときと同じように、審査と承認のプロセスを経る必要があります。

6. 承認を受けたら、ユーザーが既に段階的ロールアウトの対象となっていて、以前のAAB/APKもダウンロード済みの場合は、段階的ロールアウトの再開時に新しいAAB/APKを受け取ることになります。ユーザーがデバイスにダウンロードしたAAB/APKのバージョンを、Amazonアプリストア側でダウングレードすることは決してありません。

段階的ロールアウトのロールバック

段階的ロールアウト時のバージョンを「ロールバック」するには、まず段階的ロールアウトを停止して、編集を行います。次にそのAPKを元のAPKに置き換え(ただしversionCode値は大きくする)、新しいバージョンを全ユーザーに向けて配信します。

段階的ロールアウトのロールバック手順:

1. 開発者コンソールで該当する段階的ロールアウト時のバージョンに移動します(段階的ロールアウトの詳細の確認を参照)。

2. [段階的ロールアウト] ボタンをクリックして、[段階的ロールアウトを停止] を選択します。次に表示される [段階的ロールアウトを停止] のダイアログボックスで、[停止] をクリックします。

3. 同じ [段階的ロールアウト] のドロップダウンメニューから、[段階的ロールアウトを編集] を選択します。

4. [アプリの情報] タブ(編集可能の状態になっています)で、段階的ロールアウト時のAPKを元のAPKに置き換えます。その際に、必ずversionCode値を古いAPKのものより大きくなるようにしてください。
重要: 更新されたAPKをユーザーが受け取るには、そのversionCode値がインストール済みのAPKのものより大きい必要があります。

5. [保存] をクリックして、[アプリの情報] タブの変更を保存します。 APKを再申請して新しいAPKで段階的ロールアウトを再開することもできますが、この場合、段階的ロールアウトのワークフローは中止となり、アプリは全ユーザーに向けて公開されます。

6. [アプリを申請] をクリックします。アプリを申請することで、そのバージョンを全ユーザーに公開することができ、Amazonアプリストアによる審査と承認を受けることになります。 アプリ申請のダイアログボックスで、[申請] をクリックして、アプリの公開を確定します。「アプリの申請が完了しました」というメッセージが表示されます。

まとめ

段階的ロールアウトを利用することで、ユーザーに向けてアップデートを着実にリリースできるようになります。このアプローチにより、重要なフィードバックの収集、バグの特定・修正、大規模なデプロイに伴うリスクの軽減を実現できます。 ただし、段階的ロールアウトに成功しても、これは第一歩にすぎません。継続的にユーザーの声に耳を傾け、フィードバックを収集し、アプリをより良いものにしていくことが重要です。

関連リソース

関連記事

最近の投稿

日本語版ブログの一覧は、こちらからご覧ください。

日本語の投稿の中には、英語版から翻訳されたものが含まれます。翻訳元のブログを参照したい方は、ページ下部の言語切替バーから [英語] を選択してください。