iOS SDK API リファレンス

実体メソッド | プロパティ | 全メンバ一覧
SKWPeer クラス

ピアクラス [詳解]

#import <SKWPeer.h>

SKWPeer の継承関係図

実体メソッド

(instancetype __nullable) - initWithOptions:
 SKWPeer オブジェクトの初期化を行います。 [詳解]
 
(instancetype __nullable) - initWithId:options:
 SKWPeer オブジェクトの初期化を行います。 [詳解]
 
(SKWDataConnection *__nullable) - connectWithId:
 指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。 [詳解]
 
(SKWDataConnection *__nullable) - connectWithId:options:
 指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。 [詳解]
 
(SKWMediaConnection *__nullable) - callWithId:stream:
 指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。 [詳解]
 
(SKWMediaConnection *__nullable) - callWithId:stream:options:
 指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。 [詳解]
 
(void) - on:callback:
 SKWPeer のイベントコールバック Block を設定します。 [詳解]
 
(BOOL) - disconnect
 すべてのコネクションを切断し、シグナリングサーバとの接続を切断します。 [詳解]
 
(void) - reconnect
 シグナリングサーバとの再接続を行います。 ピア ID は既に割当済みの ID を使用します。 [詳解]
 
(BOOL) - destroy
 ピアオブジェクトを破棄状態にします。 [詳解]
 
(void) - listAllPeers:
 SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。 [詳解]
 
(SKWRoom *__nullable) - joinRoomWithName:options:
 ルームに参加します [詳解]
 
(void) - updateCredential:
 認証情報を更新します。 [詳解]
 

プロパティ

NSString *__nullable identity
 ピア ID を表します。
 
NSDictionary *__nullable connections
 コネクション接続管理オブジェクトです。リモート peer の ID が key として、peer と関連付けされるコネクション列を持つハッシュです。
 
BOOL isDisconnected
 切断状態を表します。

isDisconnected 状態
YES サーバとは切断されています。
NO サーバとは接続されています。

 
BOOL isDestroyed
 破棄状態を表します。

isDestroyed 状態
YES 破棄状態です。
NO 有効状態です。

 

詳解

ピアクラス

メソッド詳解

◆ callWithId:stream:()

- (SKWMediaConnection* __nullable) callWithId: (NSString *__nonnull)  peerId
stream: (SKWMediaStream *__nullable)  stream 

指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。

SKWPeer* peer;
NSString* destId;
SKWMediaConnection* media = [peer callWithId:destId stream:stream];
引数
peerId接続先リモートの peer ブローカー ID です (リモートのピア ID です)
stream使用するローカルメディアストリームです
戻り値
メディアコネクションオブジェクト

◆ callWithId:stream:options:()

- (SKWMediaConnection* __nullable) callWithId: (NSString *__nonnull)  peerId
stream: (SKWMediaStream *__nullable)  stream
options: (SKWCallOption *__nullable)  options 

指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。

SKWPeer* peer;
NSString* destId;
SKWCallOption* options = [[SKWCallOption alloc] init];
options.metadata = @"yourMetadata";
SKWMediaConnection* media = [peer callWithId:destId stream:stream options:options];
引数
peerId接続先リモートの peer ブローカー ID です (リモートのピア ID です)
stream使用するローカルメディアストリームです
options設定を指定します。
戻り値
メディアコネクションオブジェクト

◆ connectWithId:()

- (SKWDataConnection* __nullable) connectWithId: (NSString *__nonnull)  peerId

指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。

SKWPeer* peer;
SKWDataConnection* data = [peer connectWithId:destId];
引数
peerId接続先リモートの peer ブローカー ID です (リモートのピア ID です)
戻り値

データコネクションオブジェクト

◆ connectWithId:options:()

- (SKWDataConnection* __nullable) connectWithId: (NSString *__nonnull)  peerId
options: (SKWConnectOption *__nullable)  options 

指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。

SKWPeer* peer;
SKWConnectOption* options = [[SKWConnectOption alloc] init];
options.label = @"chat";
options.metadata = @"hi !!!";
SKWDataConnection* data = [peer connectWithId:destId options:options];
引数
peerId接続先リモートの peer ブローカー ID です (リモートのピア ID です)
options設定を指定します。
戻り値

データコネクションオブジェクト

◆ destroy()

- (BOOL) destroy

ピアオブジェクトを破棄状態にします。

SKWPeer* peer;
[peer destroy];
戻り値
呼び出し結果

◆ disconnect()

- (BOOL) disconnect

すべてのコネクションを切断し、シグナリングサーバとの接続を切断します。

SKWPeer* peer;
[peer disconnect];
戻り値
呼び出し結果

◆ initWithId:options:()

- (instancetype __nullable) initWithId: (NSString *__nullable)  peerId
options: (SKWPeerOption *__nullable)  options 

SKWPeer オブジェクトの初期化を行います。

NSString* curtomPeerId = @"my-peer-id";
SKWPeerOption* options = [[SKWPeerOption alloc] init];
options.key = @"{your-dev-key}";
options.domain = @”{your-domain}”;
options.debug = SKW_PEER_DEBUG_LEVEL_ALL_LOGS;
options.turn = YES;
SKWPeer* peer = [[SKWPeer alloc] initWithId:curtomPeerId options:options];
引数
peerId接続するピア ID を指定します。nil を指定した場合、ピア ID をサーバから取得する処理を行います。
options設定情報オブジェクトを指定します。
戻り値
ピアオブジェクト

◆ initWithOptions:()

- (instancetype __nullable) initWithOptions: (SKWPeerOption *__nullable)  options

SKWPeer オブジェクトの初期化を行います。

SKWPeerOption* options = [[SKWPeerOption alloc] init];
options.key = @"{your-dev-key}";
options.domain = @”{your-domain}”;
options.debug = SKW_PEER_DEBUG_LEVEL_ALL_LOGS;
options.turn = YES;
SKWPeer* peer = [[SKWPeer alloc] initWithOptions:options];
引数
options設定情報オブジェクトを指定します。
戻り値
ピアオブジェクト

◆ joinRoomWithName:options:()

- (SKWRoom* __nullable) joinRoomWithName: (NSString *__nonnull)  roomName
options: (SKWRoomOption *__nonnull)  option 

ルームに参加します

フルメッシュルーム:

SKWPeer* peer;
SKWMediaStream* localStream;
NSString* roomName = @"fullmesh_videochat_room";
SKWRoomOption* options = [[SKWRoomOptions alloc] init];
option.mode = SKW_ROOM_MODE_MESH;
option.stream = localStream;
SKWMeshRoom* meshRoom = (SKWMeshRoom*)[peer joinRoomWithName:roomName options:options];

SFU ルーム:

SKWPeer* peer;
NSString* roomName = @"sfu_textchat_room";
SKWRoomOption* options = [[SKWRoomOptions alloc] init];
SKWSFURoom* sfuRoom = (SKWSFURoom*)[peer joinRoomWithName:roomName options:options];
引数
roomNameルーム名
optionルームオプション
戻り値
ルームに参加できた場合はルームオブジェクトが返されます。

◆ listAllPeers:()

- (void) listAllPeers: (void(^)(NSArray *__nullable))  callback

SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。

SKWPeer* peer;
[peer listAllPeers:^(NSArray* aryPeers) {
for (NSString* strPeer in aryPeers) {
// something to do.
}
}];
引数
callbackコールバックブロック

◆ on:callback:()

- (void) on: (SKWPeerEventEnum event
callback: (SKWPeerEventCallback __nullable)  callback 

SKWPeer のイベントコールバック Block を設定します。

SKWPeer* peer;
[peer on:SKW_PEER_EVENT_OPEN callback:^(NSObject* obj) {
if (YES == [obj isKindOfClass:[NSString class]]) {
NSString* ownId = (NSString *)obj;
}
}];
[peer on:SKW_PEER_EVENT_CONNECTION callback:^(NSObject* obj) {
SKWDataConnection* data = (SKWDataConnection *)obj;
}];
[peer on:SKW_PEER_EVENT_CALL callback:^(NSObject* obj) {
SKWMediaConnection* media = (SKWMediaConnection *)obj;
}];
[peer on:SKW_PEER_EVENT_CLOSE callback:^(NSObject* obj) {
// ...
}];
[peer on:SKW_PEER_EVENT_DISCONNECTED callback:^(NSObject* obj) {
// ...
}];
[peer on:SKW_PEER_EVENT_ERROR callback:^(NSObject* obj) {
SKWPeerError* err = (SKWPeerError *)obj;
NSLog(@"%@", err);
}];
引数
event設定するイベント種別を指定します。
callbackイベント発生時に実行する Block を設定します。

◆ reconnect()

- (void) reconnect

シグナリングサーバとの再接続を行います。 ピア ID は既に割当済みの ID を使用します。

SKWPeer* peer;
[peer reconnect];

◆ updateCredential:()

- (void) updateCredential: (SKWPeerCredential *__nonnull)  newCredential

認証情報を更新します。

SKWPeer* peer;
SKWPeerCredential* credential = [[SKWPeerCredential alloc] init];
credential.timestamp = [[NSDate date] timeIntervalSince1970];
credential.ttl = 86400;
credential.authToken = @"calculated auth token";
[peer updateCredential:credential];
引数
newCredential新しい認証情報