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
 (非推奨) シグナリングサーバとの接続を切断します。なお、接続済みのmediaConnection, dataConnectionは継続されます。 [詳解]
 
(void) - reconnect
 (非推奨) シグナリングサーバへ再接続します。再接続の際には割り当て済みのPeer IDを使用します。 [詳解]
 
(BOOL) - destroy
 シグナリングサーバとの接続、および、接続済みのmediaConnection, dataConnectionを切断します。 [詳解]
 
(void) - listAllPeers:
 SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。 [詳解]
 
(void) - fetchPeerExistsWithPeerId:success:error:
 指定した Peer ID の Peer が存在するかどうかをシグナリングサーバから取得します。 [詳解]
 
(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

シグナリングサーバとの接続、および、接続済みのmediaConnection, dataConnectionを切断します。

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

◆ disconnect

- (BOOL) disconnect

(非推奨) シグナリングサーバとの接続を切断します。なお、接続済みのmediaConnection, dataConnectionは継続されます。

非推奨:
このメソッドは非推奨となりました。代わりに [SKWPeer -destroy] を使用してください。

◆ fetchPeerExistsWithPeerId:success:error:

- (void) fetchPeerExistsWithPeerId: (NSString *__nonnull)  peerId
success: (void(^)(BOOL))  successCallback
error: (void(^)(NSString *__nonnull))  errorCallback 

指定した Peer ID の Peer が存在するかどうかをシグナリングサーバから取得します。

SKWPeer* peer;
NSString* peerId;
[peer fetchPeerExistsWithPeerId:peerId success:^(BOOL exists) {
// something to do.
} error:^(NSString* __nonnull message) {
// something to do.
}];
引数
peerId存在を確認したい Peer の Peer ID を指定します。
successPeer が存在するかどうかを取得した時に実行するコールバックを設定します。
errorエラー発生時に実行するコールバックを設定します。

◆ 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;
options.tryReconnectMedia = YES:
options.tryReconnectData = 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;
options.tryReconnectMedia = YES:
options.tryReconnectData = 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

(非推奨) シグナリングサーバへ再接続します。再接続の際には割り当て済みのPeer IDを使用します。

非推奨:
このメソッドは非推奨となりました。代わりにPeerを再生成することを推奨します。

◆ 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 の時間でクレデンシャルが失効します。ttlの取りうる値は600~90,000です。
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()
シグナリングサーバとの接続、および、接続済みのmediaConnection, dataConnectionを切断します。
-[SKWPeer on:callback:]
void on:callback:(SKWPeerEventEnum event,[callback] SKWPeerEventCallback __nullable callback)
SKWPeer のイベントコールバック Block を設定します。
SKWPeerOption::tryReconnectData
BOOL tryReconnectData
データ通信が切れた際に自動で再接続を試行する場合は YES を設定します。デフォルトでは NO となります。
Definition: SKWPeerOption.h:125
SKWPeerError
エラー情報クラス
Definition: SKWPeerError.h:76
SKWPeerOption::key
NSString *__nullable key
SkyWay API キーを指定します
Definition: SKWPeerOption.h:63
SKWPeer
ピアクラス
Definition: SKWPeer.h:106
SKWMediaStream
メディアストリーム
Definition: SKWMediaStream.h:18
SKWPeerCredential
Peerを認証するためのクレデンシャル
Definition: SKWPeerCredential.h:14
-[SKWPeer connectWithId:]
SKWDataConnection *__nullable connectWithId:(NSString *__nonnull peerId)
指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。
SKWMediaConnection
MediaConnection 相当のクラスです。
Definition: SKWMediaConnection.h:52
-[SKWPeer fetchPeerExistsWithPeerId:success:error:]
void fetchPeerExistsWithPeerId:success:error:(NSString *__nonnull peerId,[success] void(^ __nonnull successCallback)(BOOL),[error] void(^ __nullable errorCallback)(NSString *__nonnull))
指定した Peer ID の Peer が存在するかどうかをシグナリングサーバから取得します。
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::tryReconnectMedia
BOOL tryReconnectMedia
対向とのメディア通信が切れた際に自動で再接続を試行する場合は YES を設定します。デフォルトでは NO となります。
Definition: SKWPeerOption.h:120
SKWPeerOption::turn
BOOL turn
SkyWay TURN サーバを使用します (TURN サーバの利用を申請する必要があります)
Definition: SKWPeerOption.h:103
-[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