Room

@objc
open class Room : NSObject, Identifiable

Room抽象クラス

RoomとはCore SDKのChannelのラッパークラスです。

Room SDKをご利用いただく場合はChannelというドメインは隠蔽されているので、ChannelではなくRoomを扱います。

RoomにはP2PRoomとSFURoomが存在し、ユースケースに応じて選択してください。

RoomにはMemberが入退出できます。Room作成時点のように、Memberのいない状態のRoomも存在できます。

詳しくは公式ホームページのドキュメントをご確認ください。

  • Room初期化オプション

    See more

    Declaration

    Swift

    @objc
    public class InitOptions : NSObject
  • Room検索クエリ

    See more

    Declaration

    Swift

    @objc
    public class Query : NSObject
  • RoomMember初期化オプション

    See more

    Declaration

    Swift

    @objc
    public class MemberInitOptions : NSObject
  • id

    Roomを識別するID

    Declaration

    Swift

    @objc
    public var id: String { get }
  • Roomの名前

    Declaration

    Swift

    @objc
    public var name: String? { get }
  • メタデータ

    Declaration

    Swift

    @objc
    public var metadata: String? { get }
  • ステート

    closedの場合、このオブジェクトの操作は無効です。

    Declaration

    Swift

    @objc
    public var state: RoomState { get }
  • 入室しているメンバーの一覧

    Declaration

    Swift

    @objc
    public var members: [RoomMember] { get }
  • このRoomでPublishされているStreamのPublication一覧

    Declaration

    Swift

    @objc
    public var publications: [RoomPublication] { get }
  • このRoomでSubscribeされているSubscription一覧

    Declaration

    Swift

    @objc
    public var subscriptions: [RoomSubscription] { get }
  • イベントデリゲート

    Declaration

    Swift

    @objc
    public weak var delegate: RoomDelegate?
  • join(with:) Asynchronous

    RoomにLocalRoomMemberを作成し、入室させます。

    1RoomインスタンスにJoinできるLocalRoomMemberは1人だけです。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func join(with options: MemberInitOptions?) async throws -> LocalRoomMember

    Parameters

    options

    Member初期化オプション

    Return Value

    LocalRoomMember

  • RoomにLocalRoomMemberを作成し、入室させます。

    1RoomインスタンスにJoinできるLocalRoomMemberは1人だけです。

    Declaration

    Swift

    @objc
    public func join(
        with options: MemberInitOptions?,
        completion: ((LocalRoomMember?, Error?) -> Void)?
    )

    Parameters

    options

    Member初期化オプション

    completion

    完了コールバック

  • updateMetadata(_:) Asynchronous

    メタデータを更新します。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func updateMetadata(_ metadata: String) async throws

    Parameters

    metadata

    更新するメタデータ

  • メタデータを更新します。

    Declaration

    Swift

    @objc
    public func updateMetadata(_ metadata: String, completion: ((Error?) -> Void)?)

    Parameters

    metadata

    更新するメタデータ

    completion

    完了コールバック

  • leave(_:) Asynchronous

    RoomからMemberを退出させます。

    権限があればLocalRoomMemberだけでなく、RemoteRoomMemberも退出させることができます。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func leave(_ member: RoomMember) async throws

    Parameters

    member

    退出するMember

  • RoomからMemberを退出させます。

    権限があればLocalRoomMemberだけでなく、RemoteRoomMemberも退出させることができます。

    Declaration

    Swift

    @objc
    public func leave(_ member: RoomMember, completion: ((Error?) -> Void)?)

    Parameters

    member

    退出するMember

    completion

    完了コールバック

  • close() Asynchronous

    Roomを閉じます。

    dispose()とは異なり、Roomを閉じると参加しているMemberは全て退出し、Roomは破棄されます。

    入室している全てのMemberがPublishとSubscribeをしている場合は中止してから退出します。

    Close後のRoomインスタンスおよび、そのRoomで生成されたインスタンス(Publication etc.)は利用できません。

    インスタンスにアクセスした場合、クラッシュする可能性があります。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func close() async throws
  • Roomを閉じます。

    dispose()とは異なり、Roomを閉じると参加しているMemberは全て退出し、サーバ上におけるRoomは破棄されます。

    入室している全てのMemberがPublishとSubscribeをしている場合は中止してから退出します。

    Close後のRoomインスタンスおよび、そのRoomで生成されたインスタンス(Publication etc.)は利用できません。

    インスタンスにアクセスした場合、クラッシュする可能性があります。

    Declaration

    Swift

    @objc
    public func close(completion: ((Error?) -> Void)?)

    Parameters

    completion

    完了コールバック

  • dispose() Asynchronous

    Roomを閉じずにRoomインスタンスを無効にし、リソースを解放します。

    close()とは異なり、Roomは破棄しないため入室しているMemberには影響しません。

    Dispose完了後にSDKで生成されたリソースにアクセスしないでください。クラッシュする可能性があります。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func dispose() async throws
  • Roomを閉じずにRoomインスタンスを無効にし、リソースを解放します。

    close()とは異なり、Roomは破棄しないため入室しているMemberには影響しません。

    Dispose完了後にSDKで生成されたリソースにアクセスしないでください。クラッシュする可能性があります。

    Declaration

    Swift

    @objc
    public func dispose(completion: ((Error?) -> Void)?)
  • SDKのバージョンを取得します

    Declaration

    Swift

    @objc
    public static func getSDKVersion() -> String

    Return Value

    バージョン

NSObject

  • Undocumented

    Declaration

    Swift

    override open func isEqual(_ object: Any?) -> Bool
  • Undocumented

    Declaration

    Swift

    open override var hash: Int { get }