リリースノート
Flutter向けPlanetKit 1.2のリリースノートです。
v1.2
リリース日:2026-08-03
コンテンツ共有のサポート
1対1通話およびグループ通話へのコンテンツ共有のサポートを追加しました。ローカルユーザーはバイナリデータを通常、排他的、またはルーム共有コンテンツとして設定または解除でき、ピアが共有コンテンツを変更した際にコールバックを受け取ることができます。
- 通常の共有コンテンツはユーザーごとに管理され、複数のユーザーがそれぞれ独自の値を同時に保持できます。
- 排他的共有コンテンツはセッションごとに1つのアクティブな値のみを許可します。最初に設定したユーザーのみが変更または解除でき、設定者が通話から退出すると値はクリアされます。
- ルーム共有コンテンツ(グループ通話のみ)は設定者が通話から退出した後も有効であり、任意の参加者が更新できます。
API
追加
-
PlanetKitCallclass 1-to-1 callFuture<bool> setExclusivelySharedContents(Uint8List data) asyncFuture<bool> setSharedContents(Uint8List data) asyncFuture<bool> unsetExclusivelySharedContents() asyncFuture<bool> unsetSharedContents() async
-
PlanetKitCallEventHandlerclass 1-to-1 callfinal void Function(PlanetKitCall call, Uint8List data, Duration elapsed)? onPeerExclusivelySharedContentsSetfinal void Function(PlanetKitCall call)? onPeerExclusivelySharedContentsUnsetfinal void Function(PlanetKitCall call, Uint8List data, Duration elapsed)? onPeerSharedContentsSetfinal void Function(PlanetKitCall call)? onPeerSharedContentsUnset
-
PlanetKitConferenceclass Group callFuture<bool> setExclusivelySharedContents(Uint8List data) asyncFuture<bool> setRoomSharedContents(Uint8List data) asyncFuture<bool> setSharedContents(Uint8List data) asyncFuture<bool> unsetExclusivelySharedContents() asyncFuture<bool> unsetRoomSharedContents() asyncFuture<bool> unsetSharedContents() async
-
PlanetKitConferenceEventHandlerclass Group callfinal void Function(PlanetKitConference conference, PlanetKitConferencePeer peer, Uint8List data, Duration elapsed)? onPeerExclusivelySharedContentsSetfinal void Function(PlanetKitConference conference, PlanetKitConferencePeer peer)? onPeerExclusivelySharedContentsUnsetfinal void Function(PlanetKitConference conference, PlanetKitUserId peerId, Uint8List data, Duration elapsed)? onPeerRoomSharedContentsSetfinal void Function(PlanetKitConference conference, PlanetKitUserId peerId)? onPeerRoomSharedContentsUnsetfinal void Function(PlanetKitConference conference, List<PlanetKitConferenceSharedContents> sharedContents)? onPeersSharedContentsSetfinal void Function(PlanetKitConference conference, List<PlanetKitConferencePeer> peers)? onPeersSharedContentsUnset
-
PlanetKitConferenceSharedContentsclass 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を渡してすべてのピアに送信します。現在の受信者はtargetgetterを通じて取得できます。これはグループ通話において有効です。
API
追加
-
PlanetKitDataSessionStreamIdtypedef 1-to-1 callGroup call -
PlanetKitCallclass 1-to-1 callFuture<PlanetKitInboundDataSession?> getInboundDataSession(PlanetKitDataSessionStreamId streamId)Future<PlanetKitOutboundDataSession?> getOutboundDataSession(PlanetKitDataSessionStreamId streamId)bool isDataSessionSupportedFuture<PlanetKitMakeInboundDataSessionResult> makeInboundDataSession(PlanetKitDataSessionStreamId streamId, PlanetKitInboundDataSessionHandler handler)Future<PlanetKitMakeOutboundDataSessionResult> makeOutboundDataSession(PlanetKitDataSessionStreamId streamId, PlanetKitDataSessionType type, PlanetKitOutboundDataSessionHandler handler)Future<bool> unsupportInboundDataSession(PlanetKitDataSessionStreamId streamId)
-
PlanetKitCallEventHandlerclass 1-to-1 callfinal void Function(PlanetKitCall call, PlanetKitDataSessionStreamId streamId, PlanetKitDataSessionType type)? onDataSessionIncoming
-
PlanetKitConferenceclass Group callFuture<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)
-
PlanetKitConferenceEventHandlerclass Group callfinal void Function(PlanetKitConference conference, PlanetKitDataSessionStreamId streamId, PlanetKitDataSessionType type)? onDataSessionIncoming
-
PlanetKitConferencePeerclass Group callfinal bool isDataSessionSupported
-
PlanetKitDataSessionClosedReasonenum 1-to-1 callGroup callinternalsessionEndunsupported
-
PlanetKitDataSessionFailReasonenum 1-to-1 callGroup callalreadyExistinternalinvalidIdinvalidTypenonenotIncoming
-
PlanetKitDataSessionTypeenum 1-to-1 callGroup callreliableBytesreliableMessageunreliableBytesunreliableMessage
-
PlanetKitInboundDataSessionclass 1-to-1 callGroup call -
PlanetKitInboundDataSessionHandlerclass 1-to-1 callGroup call -
PlanetKitMakeInboundDataSessionResultclass 1-to-1 callGroup call -
PlanetKitMakeOutboundDataSessionResultclass 1-to-1 callGroup call -
PlanetKitOutboundDataSessionclass 1-to-1 callGroup callPlanetKitUserId? get targetFuture<bool> changeDestination(PlanetKitUserId? target) async
-
PlanetKitOutboundDataSessionHandlerclass 1-to-1 callGroup call
ショートデータ送信のサポート
1対1通話およびグループ通話へのショートデータ送信のサポートを追加しました。アプリケーションは型付きバイナリペイロードを通話相手に送信し、コールバックを通じて受信ペイロードを受け取ることができます。
- グループ通話では、
sendShortDataはすべての参加者にブロードキャストし、sendShortDataToPeerはPlanetKitUserIdで特定の参加者を対象とします。 - typeの文字列はnullターミネーターを含めて100バイト以下でなければなりません。データペイロードは800バイト以下でなければなりません。
API
追加
-
PlanetKitCallclass 1-to-1 callFuture<bool> sendShortData({required String type, required Uint8List data}) async
-
PlanetKitCallEventHandlerclass 1-to-1 callfinal void Function(PlanetKitCall call, String type, Uint8List data)? onShortDataReceived
-
PlanetKitConferenceclass Group callFuture<bool> sendShortData({required String type, required Uint8List data}) asyncFuture<bool> sendShortDataToPeer({required PlanetKitUserId peerId, required String type, required Uint8List data}) async
-
PlanetKitConferenceEventHandlerclass Group callfinal void Function(PlanetKitConference conference, PlanetKitUserId senderId, String type, Uint8List data)? onShortDataReceived
Android画面共有送信のサポート
Androidの1対1通話およびグループ通話での画面共有ストリームの送信サポートを追加しました。アプリケーションはstartMyScreenShare()とstopMyScreenShare()を使用してローカル画面の送信を開始・停止できます。
iOSでは、startMyScreenShare()とstopMyScreenShare()は常にfalseを返します。iOSの画面共有にはBroadcast Extensionのフローが必要であり、これらのメソッドではカバーされていません。
API
追加
-
PlanetKitCallclass 1-to-1 callFuture<bool> startMyScreenShare() asyncFuture<bool> stopMyScreenShare() async
-
PlanetKitConferenceclass Group callFuture<bool> startMyScreenShare() asyncFuture<bool> stopMyScreenShare() async
バージョン情報APIの追加
SDKおよびプラグインのバージョン情報を公開するためのPlanetKitManager.getVersionInfo()を追加しました。返されるPlanetKitVersionInfoはsdkVersion、pluginVersion、およびuserAgentを提供します。
userAgentフィールドはinitializePlanetKit()が呼び出された後にのみ利用可能です。
API
追加
-
PlanetKitManagerclass 1-to-1 callGroup callFuture<PlanetKitVersionInfo?> getVersionInfo()
-
PlanetKitVersionInfoclass 1-to-1 callGroup call
アプリサーバーデータのサポート
通話を発信したりカンファレンスに参加したりする際にアプリサーバーデータを渡すサポートを追加しました。アプリサーバーデータは、通話またはカンファレンスが開始されるとアプリサーバーに配信されます。
- 通話を発信したりカンファレンスに参加したりする前に、パラメータビルダーで
setAppServerData()を使用してアプリサーバーデータを設定します。 appServerDataフィールドはオプションです。設定されていない場合、データは送信されません。
API
追加
-
PlanetKitMakeCallParamclass 1-to-1 callfinal String? appServerData
-
PlanetKitMakeCallParamBuilderclass 1-to-1 callPlanetKitMakeCallParamBuilder setAppServerData(String appServerData)
-
PlanetKitJoinConferenceParamclass Group callfinal String? appServerData
-
PlanetKitJoinConferenceParamBuilderclass Group callPlanetKitJoinConferenceParamBuilder setAppServerData(String appServerData)