2016-06-01 17 views
2

私は、APNと同様のアプリにデータをプッシュする方法を探していますが、APNは使用していません。これを行う方法はありますか?私がこれをやりたいのは、ユーザーが通知を無効にして、プル・トゥ・リフレッシュや何を持っているのかなど、ユーザーの入力を必要とせずにアプリケーションにデータを送信できるようにしたい場合です。私は、アプリケーションがフォアグラウンドにあるときにのみそれが起こるようにしたい。プッシュ通知を使用せずにサーバーがアプリにデータをプッシュする方法はありますか?

基本的には、通常のようなプッシュ通知を使用したいので、新しいデータが利用可能な場合、ユーザーがアプリをクリックしてアプリを開いて新しい情報を表示できるようにすることができます。ユーザーがプッシュ通知を無効にすると、ユーザーは通知を受け取らなくなりますが、新しいデータが利用可能な場合でもアプリは更新されます。

GCM/FCMを使用してみましたが、APNをピギーバックするだけで、通知が無効になっていると機能しません。

これも可能ですか?

答えて

8

アプリがフォアグラウンドである場合、あなたは2つのオプションがあります。

1)投票は - たとえば、あなたに数秒ごとに新しいデータをポーリングするネットワーク呼び出しを行います。これは、新しいデータを取得する頻度を推測できれば可能です。しかし、あなたが想像することができるように、これは非常に頻繁に行う必要がある場合、これはかなり非実用的/無駄です。

2)プッシュ - 固定HTTP接続(Webソケット)を開いて、サーバーから新しいデータをクライアントにプッシュできます。これは、ポーリングよりも実装するのが難しいアーキテクチャ(パブリッシュ/サブスクライブ)ですが、リアルタイムシステムのあらゆる種類の実装(タイムライン上の新しいFacebook投稿、新しいツイート)を考えると、時間の価値があります。 Webソケットの場合は、家庭向けのソリューション(例:http://socket.io/)を使用するか、多くのサードパーティのソリューション(http://pubnub.comなど)を使用できます

関連する問題