特定の状態の場合、サーバーを定期的にポーリングして新しいデータを取得する必要があるアプリがあります。クライアントに送信するデータは 2 ~ 4K であり、クライアントは、サーバーが新しいデータを使用する準備ができていないことを確認するために何度か要求する必要があります。
戦略の 1 つは、この状態になるとすぐに、アプリの実行中にロング ポーリングを介してネットワーク接続を開いたままにしておくことです。ロング ポーリングは、ネットワーク接続が定期的または頻繁に不安定になる可能性があるデバイスには理想的ではないようです。
もう 1 つは、新しいデータがあるかどうかを 30 秒ごとにサーバーに問い合わせる短いポーリングを行うことです。
人々が議論しているのを私が見た 3 つ目は、サーバーが新しい更新についてクライアントに通知するプッシュ通知の使用です。ただし、これは、ユーザーがアプリでプッシュ通知を有効にすることを許可することに依存しているようです。
デバイスのバッテリーに優しくしながらこれを達成するための最良のメカニズムは何ですか?
サーバーと通信するためのライブラリとして AFNetworking を使用します。