本文にスキップする
Version: 1.2

リリースノート

Flutter向けPlanetKit 1.2のリリースノートです。

v1.2

リリース日:2026-08-03

コンテンツ共有のサポート

1対1通話およびグループ通話へのコンテンツ共有のサポートを追加しました。ローカルユーザーはバイナリデータを通常、排他的、またはルーム共有コンテンツとして設定または解除でき、ピアが共有コンテンツを変更した際にコールバックを受け取ることができます。

  • 通常の共有コンテンツはユーザーごとに管理され、複数のユーザーがそれぞれ独自の値を同時に保持できます。
  • 排他的共有コンテンツはセッションごとに1つのアクティブな値のみを許可します。最初に設定したユーザーのみが変更または解除でき、設定者が通話から退出すると値はクリアされます。
  • ルーム共有コンテンツ(グループ通話のみ)は設定者が通話から退出した後も有効であり、任意の参加者が更新できます。

API

追加
  • PlanetKitCall class 1-to-1 call

    • Future<bool> setExclusivelySharedContents(Uint8List data) async
    • Future<bool> setSharedContents(Uint8List data) async
    • Future<bool> unsetExclusivelySharedContents() async
    • Future<bool> unsetSharedContents() async
  • PlanetKitCallEventHandler class 1-to-1 call

    • final void Function(PlanetKitCall call, Uint8List data, Duration elapsed)? onPeerExclusivelySharedContentsSet
    • final void Function(PlanetKitCall call)? onPeerExclusivelySharedContentsUnset
    • final void Function(PlanetKitCall call, Uint8List data, Duration elapsed)? onPeerSharedContentsSet
    • final void Function(PlanetKitCall call)? onPeerSharedContentsUnset
  • PlanetKitConference class Group call

    • Future<bool> setExclusivelySharedContents(Uint8List data) async
    • Future<bool> setRoomSharedContents(Uint8List data) async
    • Future<bool> setSharedContents(Uint8List data) async
    • Future<bool> unsetExclusivelySharedContents() async
    • Future<bool> unsetRoomSharedContents() async
    • Future<bool> unsetSharedContents() async
  • PlanetKitConferenceEventHandler class Group call

    • final void Function(PlanetKitConference conference, PlanetKitConferencePeer peer, Uint8List data, Duration elapsed)? onPeerExclusivelySharedContentsSet
    • final void Function(PlanetKitConference conference, PlanetKitConferencePeer peer)? onPeerExclusivelySharedContentsUnset
    • final void Function(PlanetKitConference conference, PlanetKitUserId peerId, Uint8List data, Duration elapsed)? onPeerRoomSharedContentsSet
    • final void Function(PlanetKitConference conference, PlanetKitUserId peerId)? onPeerRoomSharedContentsUnset
    • final void Function(PlanetKitConference conference, List<PlanetKitConferenceSharedContents> sharedContents)? onPeersSharedContentsSet
    • final void Function(PlanetKitConference conference, List<PlanetKitConferencePeer> peers)? onPeersSharedContentsUnset
  • PlanetKitConferenceSharedContents class Group call

データセッションのサポート

1対1通話およびグループ通話へのデータセッションのサポートを追加しました。アプリケーションはストリームIDが100〜999の範囲で識別されるバイナリデータストリームを使用でき、reliable message、reliable bytes、unreliable bytes、unreliable messageの4つの送信タイプから選択できます。

  • アウトバウンドセッションをmakeOutboundDataSessionで作成し、PlanetKitOutboundDataSession.send(data, timestamp)でデータを送信します。
  • 受信ストリームの通知をonDataSessionIncomingを通じて受け取り、makeInboundDataSessionでインバウンドセッションを作成してデータを受信します。
  • unsupportInboundDataSessionを呼び出して、アプリが処理する予定のない受信ストリームを拒否します。
  • PlanetKitOutboundDataSession.changeDestination(target)でアウトバウンドセッションを特定のピアに再ターゲットするか、nullを渡してすべてのピアに送信します。現在の受信者はtarget getterを通じて取得できます。これはグループ通話において有効です。

API

追加
  • PlanetKitDataSessionStreamId typedef 1-to-1 callGroup call

  • PlanetKitCall class 1-to-1 call

    • Future<PlanetKitInboundDataSession?> getInboundDataSession(PlanetKitDataSessionStreamId streamId)
    • Future<PlanetKitOutboundDataSession?> getOutboundDataSession(PlanetKitDataSessionStreamId streamId)
    • bool isDataSessionSupported
    • Future<PlanetKitMakeInboundDataSessionResult> makeInboundDataSession(PlanetKitDataSessionStreamId streamId, PlanetKitInboundDataSessionHandler handler)
    • Future<PlanetKitMakeOutboundDataSessionResult> makeOutboundDataSession(PlanetKitDataSessionStreamId streamId, PlanetKitDataSessionType type, PlanetKitOutboundDataSessionHandler handler)
    • Future<bool> unsupportInboundDataSession(PlanetKitDataSessionStreamId streamId)
  • PlanetKitCallEventHandler class 1-to-1 call

    • final void Function(PlanetKitCall call, PlanetKitDataSessionStreamId streamId, PlanetKitDataSessionType type)? onDataSessionIncoming
  • PlanetKitConference class Group call

    • Future<PlanetKitInboundDataSession?> getInboundDataSession(PlanetKitDataSessionStreamId streamId)
    • Future<PlanetKitOutboundDataSession?> getOutboundDataSession(PlanetKitDataSessionStreamId streamId)
    • Future<PlanetKitMakeInboundDataSessionResult> makeInboundDataSession(PlanetKitDataSessionStreamId streamId, PlanetKitInboundDataSessionHandler handler)
    • Future<PlanetKitMakeOutboundDataSessionResult> makeOutboundDataSession(PlanetKitDataSessionStreamId streamId, PlanetKitDataSessionType type, PlanetKitOutboundDataSessionHandler handler)
    • Future<bool> unsupportInboundDataSession(PlanetKitDataSessionStreamId streamId)
  • PlanetKitConferenceEventHandler class Group call

    • final void Function(PlanetKitConference conference, PlanetKitDataSessionStreamId streamId, PlanetKitDataSessionType type)? onDataSessionIncoming
  • PlanetKitConferencePeer class Group call

    • final bool isDataSessionSupported
  • PlanetKitDataSessionClosedReason enum 1-to-1 callGroup call

    • internal
    • sessionEnd
    • unsupported
  • PlanetKitDataSessionFailReason enum 1-to-1 callGroup call

    • alreadyExist
    • internal
    • invalidId
    • invalidType
    • none
    • notIncoming
  • PlanetKitDataSessionType enum 1-to-1 callGroup call

    • reliableBytes
    • reliableMessage
    • unreliableBytes
    • unreliableMessage
  • PlanetKitInboundDataSession class 1-to-1 callGroup call

  • PlanetKitInboundDataSessionHandler class 1-to-1 callGroup call

  • PlanetKitMakeInboundDataSessionResult class 1-to-1 callGroup call

  • PlanetKitMakeOutboundDataSessionResult class 1-to-1 callGroup call

  • PlanetKitOutboundDataSession class 1-to-1 callGroup call

    • PlanetKitUserId? get target
    • Future<bool> changeDestination(PlanetKitUserId? target) async
  • PlanetKitOutboundDataSessionHandler class 1-to-1 callGroup call

ショートデータ送信のサポート

1対1通話およびグループ通話へのショートデータ送信のサポートを追加しました。アプリケーションは型付きバイナリペイロードを通話相手に送信し、コールバックを通じて受信ペイロードを受け取ることができます。

  • グループ通話では、sendShortDataはすべての参加者にブロードキャストし、sendShortDataToPeerPlanetKitUserIdで特定の参加者を対象とします。
  • typeの文字列はnullターミネーターを含めて100バイト以下でなければなりません。データペイロードは800バイト以下でなければなりません。

API

追加
  • PlanetKitCall class 1-to-1 call

    • Future<bool> sendShortData({required String type, required Uint8List data}) async
  • PlanetKitCallEventHandler class 1-to-1 call

    • final void Function(PlanetKitCall call, String type, Uint8List data)? onShortDataReceived
  • PlanetKitConference class Group call

    • Future<bool> sendShortData({required String type, required Uint8List data}) async
    • Future<bool> sendShortDataToPeer({required PlanetKitUserId peerId, required String type, required Uint8List data}) async
  • PlanetKitConferenceEventHandler class Group call

    • final void Function(PlanetKitConference conference, PlanetKitUserId senderId, String type, Uint8List data)? onShortDataReceived

Android画面共有送信のサポート

Androidの1対1通話およびグループ通話での画面共有ストリームの送信サポートを追加しました。アプリケーションはstartMyScreenShare()stopMyScreenShare()を使用してローカル画面の送信を開始・停止できます。

Note

iOSでは、startMyScreenShare()stopMyScreenShare()は常にfalseを返します。iOSの画面共有にはBroadcast Extensionのフローが必要であり、これらのメソッドではカバーされていません。

API

追加
  • PlanetKitCall class 1-to-1 call

    • Future<bool> startMyScreenShare() async
    • Future<bool> stopMyScreenShare() async
  • PlanetKitConference class Group call

    • Future<bool> startMyScreenShare() async
    • Future<bool> stopMyScreenShare() async

バージョン情報APIの追加

SDKおよびプラグインのバージョン情報を公開するためのPlanetKitManager.getVersionInfo()を追加しました。返されるPlanetKitVersionInfosdkVersionpluginVersion、およびuserAgentを提供します。

  • userAgentフィールドはinitializePlanetKit()が呼び出された後にのみ利用可能です。

API

追加
  • PlanetKitManager class 1-to-1 callGroup call

    • Future<PlanetKitVersionInfo?> getVersionInfo()
  • PlanetKitVersionInfo class 1-to-1 callGroup call

アプリサーバーデータのサポート

通話を発信したりカンファレンスに参加したりする際にアプリサーバーデータを渡すサポートを追加しました。アプリサーバーデータは、通話またはカンファレンスが開始されるとアプリサーバーに配信されます。

  • 通話を発信したりカンファレンスに参加したりする前に、パラメータビルダーでsetAppServerData()を使用してアプリサーバーデータを設定します。
  • appServerDataフィールドはオプションです。設定されていない場合、データは送信されません。

API

追加
  • PlanetKitMakeCallParam class 1-to-1 call

    • final String? appServerData
  • PlanetKitMakeCallParamBuilder class 1-to-1 call

    • PlanetKitMakeCallParamBuilder setAppServerData(String appServerData)
  • PlanetKitJoinConferenceParam class Group call

    • final String? appServerData
  • PlanetKitJoinConferenceParamBuilder class Group call

    • PlanetKitJoinConferenceParamBuilder setAppServerData(String appServerData)