1

状況に陥っている

状況:いくつかの質問に回答し、回答した質問に応じてポイントを獲得する状況があります。ポイントが 10 になったら、QR コードを使ってプレゼントを獲得します。(ユーザーに対して生成される qr コードがあり、qr コードがスキャナー アプリまたは他のスキャナーを備えた他のデバイスからスキャンされると、そのオンライン ストアへのリンクが提供されます。このリンクは、任意のブラウザーから開くことができます。 )あるオンライン ストアからギフトにアクセスするには、そのオンライン ストアへのリンクを一意の ID で提供する QR コードをスキャンします。ギフトがアクセス/取得されると、そのオンライン ギフト ストアからギフトがアクセス/取得されたことがサーバーに通知されます。サーバー データベースで QRCode ステータスが無効に更新されます。ギフトがアクセス/取得されているという通知をサーバーが受け取ると、サーバーはすぐにiPhoneアプリにギフトを受け取ったことを通知し、別のお祝いの画像などをすぐに表示できるようにします。

考えられる解決策:サーバー上のqrcodeアクセスステータスの変更を60秒ごとに確認し、それに応じて画像を表示するという1つの可能な解決策を考えました。ただし、この方法がどれほど効率的/正しいかはわかりません。

問題:しかし、上記の解決策に避難する前に、知りたいのですが、アプリがサーバーから更新を呼び出したりフェッチしたりしなくても、サーバーからこの通知が発生する可能性がありますか? つまり、サーバーがメッセージまたはxmlなどの形式で通知を送信した後にのみ、私のアプリが登場します..

どんな助けでも大歓迎です。

4

4 に答える 4

1

Push Notificationsを確認してみてください。ただし、通知がクライアント側で受信されたかどうかをサーバー側で判断することは不可能です (自分で実装しない場合は、アプリが起動されずに通知が来た場合など、考えられるすべての状況をカバーすることはおそらくないでしょう)。 )。

于 2012-11-02T06:41:03.167 に答える
1

サーバーの変更がクライアントに通知されるチャット/メールに最も一般的に使用される XMPP プロトコルの使用を試みることができます。

于 2012-11-08T05:02:47.813 に答える
1

を使用してサーバーへの接続を開きCFReadStream、ストリームを実行ループに追加して、コールバック関数を設定できます。サーバーが開いている接続にデータを書き込むたびに、コールバックが起動し、ストリームから読み取ってサーバーが送信したデータを取得できます

詳細はこちら: https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/CFNetwork/CFStreamTasks/CFStreamTasks.html

于 2012-11-02T06:52:51.057 に答える
0

Apple Push Notification Service は、このような状況を解決することを目的としています。

役立つことを願っています: Apple ドキュメント: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW9

素敵なチュートリアルがあります: http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

ビデオチュートリアル: http://www.youtube.com/watch?v=cKV5csbueHA&feature=relmfu

于 2012-11-02T07:42:19.843 に答える