2013年11月19日火曜日

アプリの継続開発に必要な仕組み


アプリを開発していると、アプリにバグが入ったり、サーバをメンテしたりするときがある。そんなときにアプリが備えていると安心な仕組み。

アプリのバージョン制御(強制バージョンアップ)

万が一、深刻なバグのあるアプリをリリースしてしまっても、そのバージョンを利用不可にできる。

用意するもの:APIサーバ


方法1 (サーバ寄せ)
  1. アプリがAPIにバージョン番号を送る
  2. APIでバージョン番号を見て、バージョンアップが必要ならURLを返す
  3. アプリはURLが返された場合、AppStoreやGooglePlayに遷移する

方法2 (アプリ寄せ)
  1. アプリはAPIにリクエストする
  2. APIは現在利用可能なバージョン番号下限とバージョンアップURLを返す
  3. アプリはAPIが返したバージョンよりも自身のバージョンが低ければ、AppStoreやGooglePlayに遷移する。
方法2ならjsonやxmlの静的ファイルをサーバに置くだけで実現できる。


メンテナンスモード

DBを止めて作業するとき(機能追加によるテーブルの変更、DBのスケールアップなど)に必要。ユーザにメンテ中であることを知らせることができる。


用意するもの:APIサーバ

実現方法
  1. アプリは起動時にAPIにアクセスする
  2. サーバからの応答が503だった場合、アプリは「サーバがメンテナンス中」と判断し、しばらくAPIサーバとの通信をしない状態にする。
    レスポンスヘッダにRetry-Afterがあれば、その時間までメンテナンスモードになるのが理想。





0 件のコメント:

コメントを投稿