6

アプリの更新を強制することに関するさまざまな投稿を読みましたが、ppl が (私が知る限り) 持っていた唯一のアイデアは、アプリが現在のバージョンを確認するために呼び出す Web サービスを作成することです。versionCode を反映するには、WS を手動で更新する必要があります。

このアプローチにはいくつかの問題があります。

問題 1:

アプリを Play ストアにアップロードすると、デバイスがダウンロードできるようになるまでに数時間かかり、いつになるかわかりません。また、さまざまなデバイスでさまざまな時期に利用可能になるように思われるので、いつ「すべての人が利用できる」のか、まったくわかりません。

つまり、WS をすぐに更新することはできません (アプリに「現在の」バージョンを通知します)。これは、更新されたアプリが利用できないため、それらを Play ストアに誘導することはあまり建設的ではないためです。また、いつ利用可能になるかわからないため、いつ WS を更新するべきかわかりません。

問題 2:

場合によっては、バックエンドにいくつかの変更 (通信プロトコルの変更など) を行うことがあります。これには、アプリの新しいバージョンをアップロードしてから、期待どおりに相互に通信できるようにバックエンドを更新する必要があります。この場合、アプリに「古いので更新してください」と伝え、Play ストアに誘導する何らかの方法が本当に必要です。

問題は、この機能をどのように実現できるかということです。

4

2 に答える 2

3

zapl がコメントしたように、バックエンドは常に下位互換性を許可する必要があります。アプリがバックエンド サーバーを呼び出すたびに、アプリはそのバージョン番号を報告する必要があり、バックエンドはそれに応じて応答する必要があります。

アプリの更新を強制する場合は、GCM を調べて通知をプッシュし、ユーザーを更新に誘導する必要がありますが、実際にはユーザーに更新を「強制」することはありません。

いずれにせよ、バックエンドとアプリの両方がバージョン番号を相互に報告している限り (おそらく「更新が利用可能です」という通知を使用して)、そのように設計できます 1)。彼らは働き続け、2)。ユーザーは必要に応じてできるだけ早く更新します。

Google Play への公開に遅延が生じる可能性があることは理解していますが、バックエンドが下位互換性を保持している限り、問題にはなりません。

于 2013-09-16T19:23:55.683 に答える