0

これは一般的によくある質問です。

メールアプリはどのようにメール受信機能を実装しているのでしょうか?Webサービスを使用して(たとえば)2つのデバイス間で単純な同期を実装する必要があります。

やることリストアプリを想像してみてください。

このような機能を実装することは可能ですか?device1がエントリを作成し、次にWebサービスにメッセージを送信し、Webサービスがdevice2に変更が行われたことを通知し、device2がデータを調整してそのエントリを表示しますか?

4

2 に答える 2

2

iOSでは、プッシュ通知を使用して必要なものを簡単に実装できます。サーバーが変更を検出するとすぐに、device2は、サーバーがそのデバイスにプッシュ通知を送信することを認識する必要があります。

ユーザーが通知を表示した後、アプリが自分で更新する必要があることを確認した後、フォアグラウンドに来たときにアプリに自分で更新させることもお勧めします。

ポーリングではなくプッシュ通知を使用して実行する理由は、アプリがバックグラウンドにある場合、プロセスの実行を継続できるのは最大10分間のみであるためです。これを回避するには、VoIP、オーディオ、場所などのバックグラウンドモードをアプリに追加します。ただし、アプリがこれらのカテゴリに該当しない場合、Appleはアプリを拒否する可能性があります。

プッシュ通知を使用すると、アプリが実行されていない場合やバックグラウンドで実行されている場合でも、デバイスは通知を受信します。

于 2013-01-22T11:12:20.163 に答える
1

基本的に2つの方法があります:

  1. ポーリングでは、各デバイスはN分ごとにWebサーバーに変更を要求します。つまり、新しいToDo、Todoの削除、Todoの変更などです。その後、各デバイスが調整されます。投票の頻度は、探しているリアルタイムのレベルによって異なります。1秒ごとまたは12時間ごと、またはそれ以上の1回の呼び出しにすることができます。
  2. 一種のBOSHプロトコルを実装します。デバイスはサーバーへの接続を開きます。サーバーは、デバイスに送信する新しいものがあるか、接続がタイムアウトするまで、サーバーを開いたままにします。その場合、デバイスはそれを再び開きます。

オプション1は、リアルタイムの精度を必要としないため、todoアプリに適しています。オプション2は、メッセージを待ちたくないチャットアプリケーションに適しています。

于 2013-01-22T11:13:29.223 に答える