2016-05-12 12 views
-1

先週、iOSとAndroidの両方でモバイルアプリを開始しました(違いがあれば、イオンフレームワークでビルドしています)。実際、ベータ版に似ていました。 今、アプリをインストールした人がいます。それほど巨額ではありませんが、とにかくです。 私は今、新しいバージョンを開発しました。アプリケーションはサーバーに依存しているということです。そして、サーバーは多くのことを変えました。 したがって、ストア上のクライアントアプリケーションは実際にサーバーコードと同期していません。 私はこのアップデートされたバージョンのアプリをリリースすると、「古い」アプリを使用する人々が実際に予測できない結果にぶつかる可能性が大きくなります。更新されたモバイルアプリのバージョンを公開する

これに対処する標準的な方法はありますか?私は、そのアプリが古くなっていることをユーザーに知らせることはできませんが、利用可能な新しいバージョンがあることをユーザーに伝えるOSにのみ依存しています。

+0

プッシュ通知を使用していますか? –

答えて

2

これは本当に任意の特定のプラットフォームとは何の関係もない一般的なプログラミングの問題です。

アプリのバージョン1にはサーバーAPIのバージョン1が必要です。バージョン2のアプリのバージョン2のAPIにサーバーを更新する必要があります。

アプリのバージョン2がリリースされると、ユーザーベースはアプリのバージョン1とバージョン2の両方が混在します。

これは、サーバーが両方のバージョンのAPIに応答できる必要があることを意味します。これをサポートする方法はいくつかあります。

  1. バージョンごとに2つの完全に異なるURLがあります。例:http://version1.server.com/ ...とhttp://version2.server.com/ ...各アプリで正しいURLを使用してください。
  2. バージョン番号をURLの一部として渡します。例:http://server.com?ver=2&other=whatever。 URLにverパラメーターがない場合、サーバーはバージョン1を想定することができます。

重要な点は、アプリのバージョン1がそこにあることです。サーバーはそのAPIのバージョンをしばらくサポートし続ける必要があります。サーバーは両方をサポートする方法が必要です。アプリのバージョン2はリリースされる前に、古いAPIと新しいAPIの両方をサポートするためにサーバー上で行われた変更を処理するように修正することができます。おそらく、少し

+1

注:ウェイ#1はまだアプリケーションのバージョンを持っているかどうかによって異なります。 #1と#2の違いは、サーバー上またはアプリケーション上の2つのバージョンを処理するコードがあるところです。しかし、はい、両方の方法が動作します! :) – mray190

+2

@ mray190本当に。アプリのバージョン1は既に特定のURLを使用するように書かれています。それは変わることはありません。しかし、アプリのバージョン2は(リリース前に)変更することができ、別のURLを使用することができます。したがって、オプション1は引き続き実行でき、アプリケーションのバージョンは必要ありません。 – rmaddy

+0

ああ良い点!完全に私の心を失った... – mray190

-1

古いバージョンのアプリがサーバーと通信しようとすると、これをサーバーで簡単に検出して、アプリが更新する必要があることをユーザーに知らせることができます(Whatsapp /その他のメッセージングクライアントの仕組みなど)。

1

アプリ開発者として、これは常にあなたの頭の中にある必要があります。これは非常に頻繁に起こります。

あなたのすべきことは、あなたのサーバーへのすべてのリクエストです。アプリケーションバージョンを提供する必要があります。バックエンドはこのアプリバージョンを使用してリクエストのパラメータを解釈し、それに従ってモバイルアプリをサービスします。 Androidの上で

は、次の手順を使用して、アプリのバージョンを取得することができます。

String vName, vCode; 
try { 
    PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); 
    vName = pInfo.versionName; 
    vCode = Integer.toString(pInfo.versionCode); 
} catch (Exception) { 
    Log.d("App","Error!"); 
} 
2

遅くなりましたが、計画で:

1)サーバー「ストア」アプリの最新バージョン番号を持っている(私は)このためFirebaseを使用しています。あなたのアプリケーションを実行するときに、バージョン番号をサーバーに保存されているバージョン番号と照合させます。したがって、アプリが古くなっている場合は、すぐにに更新を知らせるメッセージを表示することができます。 (おそらく、サーバーから取得したカスタムメッセージでも、この特定の更新プログラムの相対的重要性を知らせる)

2)可能であれば、サーバーは以前のバージョンと新しいバージョン。アナリティクスでは、誰もが新しいバージョンを参照すると、古いサポートコードを削除することができます。

1

push notificationを使用した場合は、このアプリにAPIサービスをカットして、アプリを再インストールするように強制できます。

関連する問題