実装サンプル等、実装方法がわかるものがあれば提供していただきたいです。
(ドキュメントの記載では具体的な実装方法が把握できませんでした)
関連課題
質問を整理いただき、ありがとうございます。
準備中ですので、少々お待ちください。
ドキュメントを優先で開示いただく。
サンプルコードについては2月末くらいを目途に受領できればOK
ドキュメントがいつくらいを予定しているか?
一応あるにはあるが、現状のドキュメントでは伝わらないかも。
⇒一旦共有していただく。
サンプルアプリの開発を進めている。
既存コードから探して提供していただける。
⇒2月1日の週にご提供をいただく。
@k-otani こちら情報提供が遅くなって申し訳ありません。
一旦、現時点で提供可能な情報を共有いたします。
(別途、チャット関連のサンプルアプリケーションは準備中ですが、お時間かかる見込みですので)
SSEについて
まず、一般的な情報については以下をご参考にしてください
https://developer.mozilla.org/ja/docs/Web/API/Server-sent_events/Using_server-sent_events
コーディング例
例えば、チャット画面などのようにItemが更新された際にサーバからのイベントを受け取るためには、以下のようなコードになります。
const SSE_ENDPOINT = 'sse' // 固定の値
const sseEndpoint = '<address of sse server>' // ←例えば開発環境では、https://az-sse.hexabase.com
// channel : 受け取るイベントの名称を与えます
const channel = `item_view_${item_id}_${user_id}` // Itemが更新された場合に受け取るチャネル名
const evtSource = new EventSource(`${this.sseEndpoint}/${SSE_ENDPOINT }?channel=${channel}`);
// on message handler
evtSource.onmessage = function(event) {
console.log(event)
}
注意:
- Item更新イベントは、自分自身には通知されません。2名以上の複数ユーザを作成して動作確認してください。
- 通知先ユーザについては、Hexabase管理UIのAction設定にある「誰に通知しますか?」の設定が適用されます。通知先のユーザが該当ロールまたはグループに属するか、確認してください。
ご参考(CLI)
- SSEはActionScriptのデバッグでも用いているSSEサーバと同様になります
$ hx contexts:get
NAME SERVER SSE
stg https://az-api.hexabase.com https://az-sse.hexabase.com
prod https://api.hexabase.com https://sse.hexabase.com
Current-context set to: stg
サンプルコードの作成が少々遅れている可能性がある。
2/15にk-otaniから、問いあわせて確認する。
2月24日予定
本番環境のSSEのエンドポイントは
https://api.hexabase.com/sse
で合っていますでしょうか。
正しくは、https://sse.hexabase.com/sse
となります。
どうぞよろしくお願い致します。
@hxsupport
以前はなかった現象なのですが、Eventsourceが1分ほどでnet::ERR_CONNECTION_CLOSEDで接続が切られ、接続しなおしているのですが、仕様が変わったのでしょうか。