ニフクラmBaaSお役立ちブログ

スマホアプリ開発にニフクラmBaaS。アプリ開発に役立つ情報をおとどけ!

審査なしでアプリのコードを更新できる!サービス+ソフトウェアまとめ

アプリの審査は徐々に短縮化される傾向にあり、かつては1週間は要していたAppleについても現在は数日もあれば終わるようになっています。とは言えアプリの不具合を確認してから実際に修正が反映されるまではしばらくかかりますし、その間ユーザは不具合のあるバージョンを使い続ける苦痛に悩まされます。それは悪いレビューを増やすことになりますし、アプリの更新も確実に行われていくという保証もありません。不具合に嫌気がさしてアプリをアンインストールされてしまったらそれまでです。

そこで考えたいのがアプリをレビューなしに更新できる仕組みです。プラットフォームに依存する場合もありますが、現在では複数のサービスやソフトウェアが存在します。

Meteor hot code push - with great power comes great responsibility

MeteorはJavaScriptでスマートフォンアプリが開発できるサービスです。Web技術を使っているのでAngularやReactのようなフレームワークと組み合わせることもできます。アプリとして動かすときにはCordova/PhoneGapを使っているようです。

そして専用のプラグインを入れることでアプリを閉じ、再起動したタイミングでコードが更新できます。なお、Cordovaプラグインはアップデートできません。

CodePush

マイクロソフトが提供するソフトウェアで、CordovaとReact Nativeに対応しています。オープンソース・ソフトウェアなので自分でサーバを立てる必要があります。リリース済みのアプリを更新する他、アルファ版やベータ版の管理にも利用できます。

Rollout.io - Debug & Hot-patch production bugs

Swift/Objective-Cで作られたiOSアプリに対してJavaScriptでパッチを当てるというコンセプトのサービスです。iOSのJavaScriptエンジンに対してリモートから取得したコードを適用します。Androidについても2017年に対応予定となっています。

あくまでもホットパッチ向けであって、大きな改変には向かないようです(Appleの審査基準上もやらない方が良いでしょう)。

サービス紹介 | アプリカン | アプリ開発支援プラットフォーム

アプリカンはHTML5/JavaScript/CSSを使ってiOS/Android向けのアプリが開発できるプラットフォームです。Cordovaに似ていますが独自のエンジンで動作します。そして、元々コードのアップデート機能を提供しています。

作成したアプリをZipファイルにしてアップロードすると、スマートフォン側でそれを取り込んで更新してくれます。

Moancaエンタープライズ - 大企業向けHTML5ハイブリッドアプリ開発プラットフォーム

ニフティクラウド mobile backendと連携しているMonacaでもMonacaエンタープライズの機能としてアプリのコードアップデート機能を提供しています。エンタープライズでない場合は前述のCodePushが使えるでしょう。

AppHub: Build better apps, faster.

React Nativeの即時アップデートに対応しています。コンパイルしたipaファイルをアップロードすると、それをインストール済みのスマートフォンに対して配信してくれます。バージョン管理なども行ってくれたり、CIとの連携も可能です。

Ionic Cloud Docs | Deploy

スマートフォン向けのデザインフレームワークを提供するIonicでもホットアップロードに対応しています。スナップショット機能で、アプリストアのバージョンに戻すこともできます。チャンネル機能はベータ、アルファユーザなどの区別をつけた配布を可能にします。対応しているのはCordovaアプリです。


大きく分けてCordova、React NativeといったWeb技術(JavaScript)を使ったアプリケーションプラットフォームか、Rolloutのように独自の仕組みによるiOSサポートといった所になります。

アプリを大幅に変更するのは規約上問題がありますが、思わぬ不具合に対応するために知っておくと便利ではないでしょうか。こうした運用上の仕組みを支える上でもCordova(Monaca含む)やReact Nativeは便利な仕組みに見えます。