SKWChannel
Objective-C
@interface SKWChannel : NSObject
Swift
class Channel : NSObject
チャンネル
-
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 moreDeclaration
Objective-C
@property (nonatomic, weak) id<SKWChannelDelegate> _Nullable delegate;
Swift
weak var delegate: (any ChannelDelegate)? { get set }