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:
 認証情報を更新します。 [詳解]
 

クラスメソッド

(nonnull NSString *) + sdkVersion
 現在の SDK のバージョンを取得します。
 

プロパティ

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

詳解

ピアクラス

メソッド詳解

◆ 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新しい認証情報

プロパティ詳解

◆ isDestroyed

- (BOOL) isDestroyed
readnonatomicassign

破棄状態を表します。

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

◆ isDisconnected

- (BOOL) isDisconnected
readnonatomicassign

切断状態を表します。

isDisconnected 状態
YES サーバとは切断されています。
NO サーバとは接続されています。
SKWPeerCredential::ttl
NSUInteger ttl
Time to live(ttl)。タイムスタンプ + ttl の時間でクレデンシャルが失効します。
Definition: SKWPeerCredential.h:24
-[SKWPeer callWithId:stream:options:]
SKWMediaConnection *__nullable callWithId:stream:options:(NSString *__nonnull peerId,[stream] SKWMediaStream *__nullable stream,[options] SKWCallOption *__nullable options)
指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。
SKWDataConnection
DataConnection 相当のクラスです。
Definition: SKWDataConnection.h:41
-[SKWPeer destroy]
BOOL destroy()
ピアオブジェクトを破棄状態にします。
-[SKWPeer on:callback:]
void on:callback:(SKWPeerEventEnum event,[callback] SKWPeerEventCallback __nullable callback)
SKWPeer のイベントコールバック Block を設定します。
SKWPeerError
エラー情報クラス
Definition: SKWPeerError.h:55
SKWPeerOption::key
NSString *__nullable key
SkyWay API キーを指定します
Definition: SKWPeerOption.h:63
SKWPeer
ピアクラス
Definition: SKWPeer.h:98
SKWMediaStream
メディアストリーム
Definition: SKWMediaStream.h:18
-[SKWPeer reconnect]
void reconnect()
シグナリングサーバとの再接続を行います。 ピア ID は既に割当済みの ID を使用します。
SKWPeerCredential
Peerを認証するためのクレデンシャル
Definition: SKWPeerCredential.h:14
-[SKWPeer connectWithId:]
SKWDataConnection *__nullable connectWithId:(NSString *__nonnull peerId)
指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。
SKWMediaConnection
MediaConnection 相当のクラスです。
Definition: SKWMediaConnection.h:52
SKWPeerOption::domain
NSString *__nullable domain
SkyWay API に関連するドメインを指定します
Definition: SKWPeerOption.h:98
SKWPeerCredential::timestamp
NSUInteger timestamp
現在のUNIXタイムスタンプです。
Definition: SKWPeerCredential.h:19
SKW_ROOM_MODE_MESH
@ SKW_ROOM_MODE_MESH
フルメッシュルーム
Definition: SKWRoomOption.h:21
SKWCallOption::metadata
NSString *__nullable metadata
メタデータを指定します コネクションに関連付けされるメタデータで、コネクションを開始したpeerに渡されます。
Definition: SKWCallOption.h:23
SKWPeerOption::debug
SKWDebugLevelEnum debug
ログレベルを指定します。デフォルトは PEER_DEBUG_LEVEL_NO_LOGS です。
Definition: SKWPeerOption.h:93
SKWConnectOption::label
NSString *__nullable label
接続先のPeer IDを識別するのに利用するラベルを指定します。
Definition: SKWConnectOption.h:19
SKWPeerOption::turn
BOOL turn
SkyWay TURN サーバを使用します (TURN サーバの利用を申請する必要があります)
Definition: SKWPeerOption.h:103
-[SKWPeer disconnect]
BOOL disconnect()
すべてのコネクションを切断し、シグナリングサーバとの接続を切断します。
-[SKWPeer connectWithId:options:]
SKWDataConnection *__nullable connectWithId:options:(NSString *__nonnull peerId,[options] SKWConnectOption *__nullable options)
指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。
SKWConnectOption
SKWPeer connect オプション
Definition: SKWConnectOption.h:14
SKWPeerCredential::authToken
NSString * authToken
HMACを利用して生成する認証用トークンです。
Definition: SKWPeerCredential.h:29
SKW_ROOM_MODE_SFU
@ SKW_ROOM_MODE_SFU
SFU ルーム
Definition: SKWRoomOption.h:25
-[SKWPeer callWithId:stream:]
SKWMediaConnection *__nullable callWithId:stream:(NSString *__nonnull peerId,[stream] SKWMediaStream *__nullable stream)
指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。
SKWConnectOption::metadata
NSString *__nullable metadata
メタデータを指定します。 コネクションに関連付けされるメタデータで、コネクションを開始したpeerに渡されます。
Definition: SKWConnectOption.h:27
SKWSFURoom
SFU ルームクラス
Definition: SKWSFURoom.h:24
SKWCallOption
SKWPeer call オプション
Definition: SKWCallOption.h:14
SKWPeerOption
SKWPeer 初期化オプションクラス
Definition: SKWPeerOption.h:53
-[SKWPeer listAllPeers:]
void listAllPeers:(void(^ __nullable callback)(NSArray *__nullable))
SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。
SKWRoomOption::mode
SKWRoomModeEnum mode
ルームモードを指定します
Definition: SKWRoomOption.h:36
-[SKWPeer updateCredential:]
void updateCredential:(SKWPeerCredential *__nonnull newCredential)
認証情報を更新します。
SKWMeshRoom
メッシュ接続でのルームを提供するルームクラスです。
Definition: SKWMeshRoom.h:22
SKWRoomOption
ルーム初期化オプションクラス
Definition: SKWRoomOption.h:31
SKWConnectOption::serialization
SKWSerializationEnum serialization
データシリアライズ種別を指定します。
Definition: SKWConnectOption.h:32
SKW_SERIALIZATION_NONE
@ SKW_SERIALIZATION_NONE
NONE
Definition: SKWConnection.h:26