2016-07-08 4 views
0

私はPubNubメッセージをReplay機能で示唆されるようにリアルタイムで再生しようとしていますが、オンラインで見つけることができる唯一の例は特定の期間にわたってメッセージの静的履歴を取得することです。PubNub Replay API for iOS

実際にReplay APIリクエスト(History APIではなく)を扱うオンラインチュートリアルを知っている人もいれば、ここでいくつかのサンプルコード(可能な場合はSwift)を与えることができますか?

多くのありがとうございます。

+0

リプレイ機能はJavaScript SDKでのみ使用でき、非推奨であるため非推奨になりました。必要に応じて、この機能を最後に複製することができます。あなたのユースケースは何ですか? –

答えて

2

カスタムPubNubリプレイ実装

リプレイ機能はPubNub Node/JavaScript SDKでのみ利用可能であり、それは需要がないので(それはV4のSDKのの一部ではありません)推奨されていません。必要に応じて、この機能を最後に複製することができます。おそらくあなたはあなたのクライアントアプリケーションではなくあなたのサーバーからこれをやりたがっているでしょうが、クライアントからもこれを行うことができます。

historyは1コールにつき100メッセージしか返さないので、history API (Swift SDK for your client implementation)を使用すると、必要な数のメッセージをストレージから取り出すことができます(今後のストレージページを簡略化するため新機能が追加される予定です)。ここで

は、独自のreplay機能を実装するために、サーバーから、ハイレベルの設計である:あなたのサーバー上で

  1. を所望のチャネルからの歴史を得る - あなたがかもしれないので、あなたは一度に100件のメッセージを得ることができます100以上
  2. リプレイへのメッセージを新しいチャンネルを作成し、クライアントがそのチャンネルの名前が何であるかを知っているし、彼らはそれに加入してみましょう取得するメッセージを介してページを持っています。リプレイチャンネル名のメッセージは、のチャンネルに既に公開されているチャンネルに公開することができます。
  3. クライアントがこのリプレイチャネルにサブスクライブすると、メッセージの再生を続行できます。
  4. historyを使用して取得した最も古いメッセージから始めて、発行したばかりのメッセージのtimetokenと公開する次のメッセージのtimetokenの差の時間だけスリープしてからスリープします。
+0

多くのおかげでCraig - それは、再生ボタンが押されたときには、 'リプレイapiの開始より多くのものだったが期待していたが、悲しいかな、笑。これは私がサーバーに実装するためには時間がかかるので、できるだけ早く確認のために戻ってきます。だから感謝しています – RobertyBob

+0

実際よりも複雑に聞こえます。私はあなたが始めるとコードをかなりまっすぐに見つけることができると思うが、あなたが探している機能のような* DVR *の頑強さに依存する。主な部分は、クライアントからサーバーへのリプレイを要求することです。クライアントは実際にメッセージを再生するためにチャネルの名前をサーバに伝え、クライアントはすでにチャネルに加入していることができます。サーバーは、そのチャンネルにメッセージを公開する前に、そのチャンネルに加入しているユーザーがいるかどうかを確認して、誰にも*再生しない*ことができます。 –

+0

ご不明な点がございましたら、[PubNub Supprt](http://pubnub.com/support)にお問い合わせください。 PubNubソリューションアーキテクトと話し合って、正確な要件について話し合い、ベストプラクティスを提供することが最善の方法です。 –

関連する問題