2016-05-30 4 views
0

サーバー上のデータが更新されたときにモバイルアプリのコンテンツを更新したいと思います。今、私たちのアプリは、ユーザーがアプリを開くときに更新されたコンテンツしか取得しないので、たくさんの写真がある大きなアップデートがある場合、ユーザーはコンテンツをブラウズする前にダウンロードするのを待たなければなりません。私はただちにプッシュしたいので、ユーザーは(ほとんど)ダウンロードが完了するのを待つ必要はありません。すべてがサーバーからアプリにすぐにプッシュされるからです。アプリを更新するには

は、私たちは、ユーザーがサーバー上の最新バージョンでテキストや写真のダウンロード版を比較できるアプリを作る改訂システムとのデータの正しいバージョンを持っていることを確認してください。

私は特別なプッシュメッセージは、トリックを行うことができると思います。バックエンドで何かが更新されると、アプリに特別なプッシュメッセージを送信して、アプリを起動させてサーバーの新しいコンテンツを探すことができます。誰もこのアーキテクチャを使用していますか?あるいは、データを即座にプッシュすることについての私のユースケースが確実に達成されるようにするアーキテクチャです。ありがとう。

/クラウス

答えて

0

あなたはあなたのアプリケーションが実行されていないときにインスタント通知を取得することができなくなります。

プッシュ通知には固有のラグがあります。彼らは通常、送ってから10〜15分以内に届けられると私は理解しています。

これはあなたがしたいことです。アップデートが利用可能になったら、サーバーにクライアントアプリケーションへのプッシュを送信させます。あなたのアプリがプッシュを受け取ったら、バックグラウンドの時間を尋ねてから、サーバーをポーリングして更新が必要かどうかを確認し、そうであればバックグラウンドダウンロードを開始する必要があります。 NSURLSessionを起動したら、バックグラウンドセッションを終了したいと思うでしょう。

あなたは、バックグラウンドでのダウンロードを実行するために、バックグラウンドNSURLSessionを使用することができます。これを行うと、ダウンロードが続行され、アプリが終了しても終了し、OSはアプリを再起動し、ダウンロードが完了したら通知します。

これはかなりよく書かれています。私は、Xcodeのドキュメントを見て少し実験をすることで、その使い方を考え出すことができました。

+0

プッシュメッセージがダウンロードをトリガーする方法を実装しましたか? 1つのアイデアは、アプリが認識し、アプリがサーバーに行くことをトリガーする特別なメッセージ(例えば、テキストが更新されたコンテンツ)を生成することです。これはあなたがこれを実装した方法ですか?または、アプリケーションとやりとりするための「システム」プッシュメッセージがありますか? – Claus

+0

サイレントプッシュ通知用にアプリを設定したいとします。これにより、プッシュ通知が受信されたときにシステムからアプリにメッセージが送信されます。それは基本的にちょうどポケで、新しいデータをチェックするように指示します。その後、バックグラウンドの時間を求め、サーバーに更新されたコンテンツがあるかどうかを確認し、ダウンロードする新しいコンテンツがある場合はNSURLSessionを使用してダウンロードを開始します。 –

+0

私はGoogle検索を行い、サイレントプッシュ通知でこのリンクを見つけました。かなり良いと思われる:http://hayageek.com/ios-silent-push-notifications/ –

0

プッシュ通知には大量のデータを含めることはできません。しかし、ユーザーはアプリを起動してデータをダウンロードするように促すことができます。

しかし、私が試したが、何かをするonMessageReceived()が呼び出されたAndroid上での方法は、ダウンロードした最新データのように、そこにあるかもしれません。それは単なるアイデアです。

関連する問題