私はチャットアプリを開発しています。これは私の前に多くの人が行ってきたことなので、質問に対する明確な回答が得られると期待していますが、どこにも見つかりません。
問題は、オープン ソケットを使用せずにサーバーからクライアントにデータをプッシュする方法です。
(データと言うときは、システムの管理者メッセージを意味します)
私は2つのアプローチを考えることができます:
ポーリング - クライアントは、彼を待っている新しいデータがあるかどうかを数秒ごとにサーバーに「問い合わせ」ます。
このアプローチの問題は、バッテリーが非常に速く消耗することです。APNS (Apple プッシュ通知サービス) - サーバーが新しいデータを受け取るたびに、クライアントに新しいデータが待っているというプッシュ通知を送信します (プッシュはデータ自体を運びません)。これにより、「getData」リクエストがトリガーされます。クライアントからサーバーへ。
このアプローチは、「サイレント」プッシュを (ユーザーに警告を表示せずに) 送信する必要があることを意味しますが、これが APNS の適切な使用法であるかどうかはわかりません。
これについて何か考えはありますか?多分他のより良いアプローチ?