Share
アプリ開発者にとって、避けて通れないのが、GoogleやAppleのストア審査です。
通常は、バージョンアップを行うたびにアプリを毎回審査に出さなければならず、審査を通過しリリースまで待たなければなりません。数時間で終わる場合もあれば、一週間程度かかる場合もあります。
しかし、緊急にバグ修正が必要で、すぐに反映させたい場合、このタイムラグは問題となります。
また、リリースされてもバージョンアップはユーザーがストアへ行って更新しない限り行われません。
では、ストアの審査を通さず、開発者のタイミングでアプリのバージョンアップを反映させることは可能でしょうか。
「CodePush」を使えばそれが可能になります。
この記事では
CodePushとは何か
CodePushをアプリに組み込んでおくことの5つのメリット
について解説していきます。
「CodePush」とは、AndroidのCH Play(Google Play store)やAppleのApp Storeを介さずにアップデートをユーザの端末に即座にデプロイできるツールです。
Microsoftによって開発され、App Center Buildのクラウドサービスとして紹介されました。
React Native framework や Cordovaなどを使ったモバイルアプリ開発者が用いることができます。
実はあなたもユーザーとしてこの「CodePush」の働きを、生活の中ですでに体験したことがあるかもしれません。
例えば、ある日いつものようにスマホアプリを開くと、更新をした覚えがないのに、ホーム画面が新しくなっていたり、新しい機能が追加されたりします。
通常はGoogle PlayやApp Storeに入らないとアップデートできないはずなのに、自動的に更新されていることに気づきます。
そんな経験はないでしょうか。
実はそれがCodePushの働きです。
CodePush をアプリに組み込むメリットは5つあります。
CodePush をアプリに組み込む1つ目のメリットは、「ストアに左右されずに自分のタイミングでバージョンアップをリリースできる」という点です。
従来の方法では、アップデートを公開するには、Google Play Console (Android) とAppstore connect (iOS)の審査が必要です。アップデートに異常がないかどうかを確認するためです。
通常は数時間ぐらいで終わりますが、数日かかる場合もあります。
承認されたのちストアにアップされ、リリースされるという流れです。
しかし、そのような手間暇をかけてストアにアップしたとしても、ユーザーは確実にアップデートを実行してくれるとは限りません。
もしユーザがストアの自動更新を無効にしていれば、運に任せるしかありません。
そこで、CodePushの出番です。
CodePushをアプリに組み込むことで、ユーザがアプリを開くときに、システムが自動的にアップデートの有無を確認し、もしアップデートがあればダウンロードして更新を行います。
ダウンロード後、最新バージョンを有効にするため、アプリを再起動するというプロセスになります。
これらはすべて自動的に行われ、ユーザの操作は不要です。
さらに、CodePushは手動による更新もサポートします。
手動での更新機能を行なうには、アプリにアップデートを確認できるボタンやメニューを追加する必要があります。
ユーザはタップすると、アップデートの有無をチェックでき、アップデートがある場合はダウンロードして再起動することができます。
ユーザーがわざわざストアに確認しにいく手間が省けるのでたいへん便利です。
CodePush をアプリ組み込む2つ目のメリットは、「機能をアプリに搭載するまでの時間が大幅に短縮できる」という点です。
開発者にとってCodePushの最大のメリットは、
これまで行なっていた
ストアへの申請
申請が下りる
リリース
ユーザーがストアを訪れてアップデートを行う
といった手間と時間が省けて、すべてが「30秒もかからないくらいでできてしまう」という点です。
それはユーザーエクスペリエンスの向上につながります。
CodePush をアプリに組み込む3つ目のメリットは、「バグの修正をすぐ反映させられる」という点です。
そもそも完全なシステムというものは存在しません。使用中にアプリが突然不具合を起こすことは想定内の事態です。
さらに開発の側でバグの修正がすぐ行えたとしても、
バージョンアップをストアに申請→審査を待つ→ストアにアップというプロセスを経なければならず、最後にユーザーが手動で更新するまでは完了しません。
こうした流れは、アプリの最適化とユーザーエクスペリエンスの向上にとって大きな妨げとなります。
この難しい課題をCodePushで簡単に解決できます。
弊社Rabiloo(ラビロー)の開発プロセスにおいて、クライアントにアプリを納品する前に、品質を担保するためのテストが必ず行われます。
それでもわたしたち開発者は最初から完璧なシステムはないことを認め、すべてのアプリにおいて継続的に改善を行なっていかなければならないことを理解しています。
アプリがユーザーに利用されるときに、想定外のバグが現れないようにするため、CodePushは本当に必要不可欠なツールです。
CodePush をアプリに組み込む4つ目のメリットは、「アップデートにバグが見つかっても、すぐにロールバック(復元)できる」という点です。
新機能を追加したアップデートをリリースしたあとすぐにバグが見つかることもあります。従来の方法ではバグを修正したなら、さらにストアの審査が必要になり、ユーザ側に反映されるまでまたしばらく時間がかかってしまいます。
その間、ユーザーはバグの生じたバージョンをそのまま使い続けるしかなく、開発者もユーザーも、非常にもどかしい思いをしなければなりません。
Code pushはここでも問題を解決してくれます。
Code pushでは、アップデートに障害が起こった場合、直前のバージョンにロールバック(復元)することができます。
そして落ち着いてバグの修正に集中することができます。
CodePush をアプリに組み込む5つ目のメリットは「A/Bテストが容易に実施にできる」という点です。
アプリのリリースに「A/Bテスト」が使われることがあります。
同じアプリを、あるユーザーの端末にはパターンAが、別のユーザーの端末にパターンBが表示させるといった「A/Bテスト」が行われることがあります。
A/Bテストの実施にも、CodePushは役立ちます。
Aパターン、Bパターンどちらかに更新されるユーザ数を開発者の側でコントロールすることができ、異なるバージョンのユーザ体験を容易に比較できます。
ユーザーエクスペリエンスの向上はアプリ開発者にとって何よりも重要です。
この記事では「CodePush」の5つのメリットについてご紹介しました。
ストアに左右されずに自分のタイミングでバージョンアップをリリースできる
機能をアプリに搭載するまでの時間が大幅に短縮できる
バグの修正をすぐ反映させられる
アップデートにバグが見つかっても、すぐにロールバック(復元)できる
A/Bテストが容易に実施にできる
CodePushはReact Native Frameworkを使ったモバイルアプリの開発やリリースにさまざまなメリットがある優れたツールです。
弊社ラビローでは、顧客に品質の高い製品を提供するために、初案件からCodePushを導入しています。
エンジニアのご提供・お見積り、オフショア開発のご相談はご気軽にお寄せください。
Share