この記事は1年以上前に投稿された記事で現在は正しい情報とは限りません。

今回はGoInstantで一番大事(だと思ってる)なデータ部分の操作を解説してみます。

 

任意のキーの値を設定

前回同様connectでroomにJoinしてroomのメソッドで

と書くと、/testのキーに対する値を設定できます。

返り値のresultはこんな感じ↓

setkey

 

オブジェクト、数値型、配列の値も入力できます。

 

任意のキーの値を取得

こんな感じで取得できます。

 

Roomのデータの持ち方は階層構造になっていてJSONみたいな構造になっています。

1Room1JSONって感じで、”/test”のキー値が{“aaa”: “bbb”}のようなオブジェクト構造であれば

“/test/aaa”というキー値で”bbb”という値を取ってこれます。

 

また、以下のように”/”というRootのキー値を指定するとRoom内の全てのデータを取得出来ます。

allroomdata

 

キー値の設定を検知

valueは更新値、contextは誰が何を更新したか的な情報になります。

onset

 

キーの削除

 

removeの検知はkey.on(“remove”, … でOK。

キー値を削除するので、下位のキー値も全て削除されます。

また、”/.users”は削除できないっぽいです。Joinしてるからそりゃ無理ですよね…。

 

これらのキー値の取得、設定、削除、変更の検知を駆使してWebRTCを実現するのが

GoInstantアプリケーションのメインの部分になると思います。