現行SDKに対応したアプリのSkyway-Beta/JavaScript SDKへの移行について
-
SkyWay Support Team です。
SkyWay Beta の検討ありがとうございます。現行版にある getLog メソッドは Beta では提供していません。
ただし、 getLog 同等のログは Beta でも取得可能です。現行版 getLog の仕様
形式
下記のような形式でログが取得可能です。
- timestamp: イベント発生時間
- messageType: メッセージの種類
- message: メッセージメッセージの種類
messageType は下記の 3 種類の値を取り得ます。
- ROOM_USER_JOIN
- いずれかのユーザーが room に join した際に記録されるログです
- ROOM_USER_LEAVE
- いずれかのユーザーが room から leave した際に記録されるログです
- ROOM_DATA
- いずれかのユーザーが room に send でデータを送信した際に記録されるログですメッセージのフォーマット
message は messageType によってフォーマットが下記のように変わります。
- ROOM_USER_JOIN
- roomName: room 名
- roomType: room の種類。 Mesh か SFU
- src: room に join した Peer の PeerID
- ROOM_USER_LEAVE
- roomName: room 名
- src: room から leave した Peer の PeerID
- ROOM_DATA
- src: room に send した Peer の PeerID
- data: room に send で送信したデータBeta での実現方法
現行版 messageType に該当する Beta のイベントは下記です。
- 現行版: ROOM_USER_JOIN
- Beta: Room.onMemberJoined
- https://github.com/skyway-beta/documents/blob/main/javascript-sdk/room/api-reference/interfaces/Room.md#onmemberjoined
- 現行版: ROOM_USER_LEAVE
- Beta: Room.onMemberLeft
- https://github.com/skyway-beta/documents/blob/main/javascript-sdk/room/api-reference/interfaces/Room.md#onmemberleft
- 現行版: ROOM_DATA
- Beta: ローカルから送信時: LocalDataStream.write
- https://github.com/skyway-beta/documents/blob/main/javascript-sdk/room/api-reference/classes/LocalDataStream.md#write
- Beta: リモートから受信時: RemoteDataStream.onData
- https://github.com/skyway-beta/documents/blob/main/javascript-sdk/room/api-reference/classes/RemoteDataStream.md#ondataROOM_USER_JOIN, ROOM_USER_LEAVE について
onMemberJoined, onMemberLeft では下記 RoomMember が取得できます。
https://github.com/skyway-beta/documents/blob/main/javascript-sdk/room/api-reference/interfaces/RoomMember.md現行版で取得できる roomName, roomType, src は RoomMember の下記プロパティから取得できます。
- 現行版: roomName
- Beta: RoomMember.roomName
- 現行版: roomType
- Beta: RoomMember.roomType
- 現行版: src の Peer ID
- Beta: RoomMember.idROOM_DATA について
LocalDataStream.write, RemoteDataStream.onData では DataStreamMessageType が取得できます。
https://github.com/skyway-beta/documents/blob/a801d4724fc0a3c9ba8e195d36871f347235ea53/javascript-sdk/core/api-reference/modules.md#datastreammessagetypeDataStreamMessageType には string, ArrayBuffer, object が設定でき、現行版で取得できる data に該当します。
LocalDataStream.write, RemoteDataStream.onData では 現行版で取得できる src(送信元 Peer ID)は取得できませんが、 DataStreamMessageType に送信元の Member.id を含めることで同様のログ取得が実現できます。
timestamp について
現行版では timestamp をログとして取得できますが、 Beta では取得できません。
そのため、上記イベント発生時に都度 timestamp を補完することで取得が可能です。
ログデータの保管について
現行版では SkyWay のシグナリングサーバーからログを取得可能ですが、 Beta では SkyWay 側からログの取得ができません。そのため、イベント発生時にデータを収集しておき、何かのタイミングで貴社データベースなどに保管しておくことで getLog 同等のログ取得は可能です。
Beta の各種イベントでは現行版 getLog で提供している以上の情報が取得可能かつ、ログ項目を自由に設定できるため、より柔軟なログ収集と取得が実現できるかと存じます。
なお、商用リリース時に現在提供している Beta の API に破壊的変更が入る可能性があります。そのため、上記の実装が商用リリース時も必ず動作する保証はできないため、その点はご了承ください。
長くなりましたが、以上、ご確認ください。
サインインしてコメントを残してください。
コメント
2件のコメント