121

デバイスがサーバーをポーリングする必要なく、iOS の「プッシュ」通知を特定のデバイスに配信するにはどうすればよいですか?

たとえば、Facebook で新しいメッセージを受け取ったとします。Facebook は、私のデバイスがそのような通知を受信する必要があることを Apple に通知します。しかし、Apple はどのデバイス/IP にメッセージをプッシュするかをどうやって知るのでしょうか?

4

5 に答える 5

107

各デバイスは、独自の一意のデバイス トークンを使用してデータで更新できます。この写真はすべてを説明しています。.

ここに画像の説明を入力

于 2015-06-03T10:46:59.663 に答える
62

コメントを入れるには多すぎました。

ドキュメントから。

Apple プッシュ通知サービス (APNs) は、プッシュ通知を受信するようにアプリケーションが登録されているデバイスにプッシュ通知を伝達します。各デバイスは、サービスとの認定および暗号化された IP 接続を確立し、この永続的な接続を介して通知を受信します。プロバイダーは、クライアント アプリケーション向けの受信データを監視しながら、永続的で安全なチャネルを介して APN に接続します。アプリケーションの新しいデータが到着すると、プロバイダーは通知を準備し、チャネルを介して APNs に送信します。APNs は通知をターゲット デバイスにプッシュします。

詳細と使用方法と設定方法については、ドキュメントを読むことをお勧めします。それはすべてそこにあります。

プッシュ通知

于 2013-06-23T16:09:31.400 に答える
25

プッシュ通知のワークフローを説明するインフォグラフィックを作成しました。これが役に立てば幸いです。

ここに画像の説明を入力

于 2016-01-04T08:55:40.100 に答える
15

デバイスは、プッシュ通知のためにサーバーをポーリングし続けません。

簡単にするために、iPhone がインターネットに接続されているとします。インターネットに接続すると、iPhone は Apple プッシュ通知サーバーへの接続を確立します。この接続はオープン接続です。つまり、データがサーバーに到着した瞬間にサーバーから iPhone にデータをスローできます。

Apple はプッシュ通知に HTTP プロトコルを使用していませんが、HTTP プロトコルを理解していれば、ほぼ同様の方法論です。

http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push

于 2014-11-13T14:44:15.940 に答える
2

この記事には、プッシュ通知の非常に優れた説明があります。

iOS では、アプリはバックグラウンドで多くのことを行うことができません。アプリは限られた一連のアクティビティのみを実行できるため、バッテリー寿命が節約されます。

しかし、興味深いことが起こったときに、ユーザーが現在アプリを使用していなくても、そのことをユーザーに知らせたい場合はどうすればよいでしょうか?

于 2014-12-08T22:29:31.703 に答える