現行SDKに対応したアプリのSkyway-Beta/JavaScript SDKへの移行について

コメント

2件のコメント

  • Avatar
    SkyWay Support Team

    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#ondata

    ROOM_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.id

    ROOM_DATA について

    LocalDataStream.write, RemoteDataStream.onData では DataStreamMessageType が取得できます。
    https://github.com/skyway-beta/documents/blob/a801d4724fc0a3c9ba8e195d36871f347235ea53/javascript-sdk/core/api-reference/modules.md#datastreammessagetype

    DataStreamMessageType には 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 に破壊的変更が入る可能性があります。そのため、上記の実装が商用リリース時も必ず動作する保証はできないため、その点はご了承ください。

    長くなりましたが、以上、ご確認ください。

    0
    コメントアクション Permalink
  • ご回答ありがとうございます。

    ご提示頂いた方法で対応を検討させて頂きます。

    0
    コメントアクション Permalink

サインインしてコメントを残してください。