SKWChannel

Objective-C


@interface SKWChannel : NSObject

Swift

class Channel : NSObject

チャンネル

  • id

    Channel識別子

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSString *_Nonnull id;

    Swift

    var id: String { get }
  • Channelの名前

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSString *_Nullable name;

    Swift

    var name: String? { get }
  • Channelに付与されているメタデータ

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSString *_Nullable metadata;

    Swift

    var metadata: String? { get }
  • ChannelインスタンスにこのSDKから参加したLocalPerson

    LocalPersonは1Channelインスタンスに一人しか参加できません。

    Declaration

    Objective-C

    @property (nonatomic, readonly) SKWLocalPerson *_Nullable localPerson;

    Swift

    var localPerson: LocalPerson? { get }
  • Channelに参加しているBotの一覧

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSArray<SKWRemoteMember *> *_Nonnull bots;

    Swift

    var bots: [RemoteMember] { get }
  • Channelに参加しているMemberの一覧

    LocalPersonも含まれます。

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSArray<SKWMember *> *_Nonnull members;

    Swift

    var members: [Member] { get }
  • Channelに紐づく全てのPublicationの一覧

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSArray<SKWPublication *> *_Nonnull publications;

    Swift

    var publications: [Publication] { get }
  • Channelに紐づく全てのSubscriptionの一覧

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSArray<SKWSubscription *> *_Nonnull subscriptions;

    Swift

    var subscriptions: [Subscription] { get }
  • Channelの状態

    一度Closed状態になった場合、Channelの操作はできません。

    Declaration

    Objective-C

    @property (nonatomic, readonly) SKWChannelState state;

    Swift

    var state: ChannelState { get }
  • Unavailable

    Undocumented

    Declaration

    Objective-C

    - (id _Nonnull)init NS_UNAVAILABLE;
  • クエリからChannelを検索します。

    Declaration

    Objective-C

    + (void)findWithQuery:(SKWChannelQuery *_Nonnull)query
               completion:(SKWChannelCompletion _Nullable)completion;

    Swift

    class func find(with query: ChannelQuery) async throws -> Channel

    Parameters

    query

    検索クエリ

    completion

    完了コールバック

  • Channelを新規作成します。

    Declaration

    Objective-C

    + (void)createWithInit:(SKWChannelInit *_Nullable)init
                completion:(SKWChannelCompletion _Nullable)completion;

    Swift

    class func create(with init: ChannelInit?) async throws -> Channel

    Parameters

    init

    初期化オプション

    completion

    完了コールバック

  • Channelを名前から検索し、存在しない場合は新規作成します。

    Declaration

    Objective-C

    + (void)findOrCreateWithInit:(SKWChannelInit *_Nonnull)init
                      completion:(SKWChannelCompletion _Nullable)completion;

    Swift

    class func findOrCreate(with init: ChannelInit) async throws -> Channel

    Parameters

    init

    検索・初期化オプション

    completion

    完了コールバック

  • Channelに参加し、LocalPersonを作成します。

    Declaration

    Objective-C

    - (void)joinWithInit:(SKWMemberInit *_Nullable)init
              completion:(SKWChannelJoinCompletion _Nullable)completion;

    Swift

    func join(with init: MemberInit?) async throws -> LocalPerson

    Parameters

    init

    LocalPerson初期化オプション

    completion

    完了コールバック

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

    Declaration

    Objective-C

    - (void)updateMetadata:(NSString *_Nonnull)metadata
                completion:(SKWChannelUpdateMetadataCompletion _Nullable)completion;

    Swift

    func updateMetadata(_ metadata: String) async throws

    Parameters

    metadata

    メタデータ

    completion

    完了コールバック

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

    認可されていれば自分自身(LocalPerson)だけでなく、RemoteMemberも退出させることができます。

    Declaration

    Objective-C

    - (void)leaveMember:(SKWMember *_Nonnull)member
             completion:(SKWChannelLeaveMemberCompletion _Nullable)completion;

    Swift

    func leaveMember(_ member: Member) async throws

    Parameters

    member

    退出させるMember

    completion

    完了コールバック

  • Channelを閉じます。

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

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

    Close後のChannelインスタンスおよび、Channelで生成されたMember, Publication, Subscriptionインスタンスは利用できません。

    Declaration

    Objective-C

    - (void)closeWithCompletion:(SKWChannelCloseCompletion _Nullable)completion;

    Swift

    func close() async throws

    Parameters

    completion

    完了コールバック

  • Channelを閉じずにChannelインスタンスを無効にし、非同期的にリソースを解放します。

    close(completion:)とは異なり、サーバ上でのChannel破棄しないため入室しているMemberには影響しません。

    Dispose完了後のChannelインスタンスおよび、Channelで生成されたMember, Publication, Subscriptionインスタンスは利用できません。

    Declaration

    Objective-C

    - (void)disposeWithCompletion:(SKWChannelDisposeCompletion _Nullable)completion;

    Swift

    func dispose() async throws
  • イベントデリゲート

    See more

    Declaration

    Objective-C

    @property (nonatomic, weak) id<SKWChannelDelegate> _Nullable delegate;

    Swift

    weak var delegate: (any ChannelDelegate)? { get set }