ピアクラス
[詳解]
#import <SKWPeer.h>
|
(nonnull NSString *) | + sdkVersion |
| 現在の SDK のバージョンを取得します。
|
|
◆ callWithId:stream:
指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。
- 引数
-
peerId | 接続先リモートの peer ブローカー ID です (リモートのピア ID です) |
stream | 使用するローカルメディアストリームです |
- 戻り値
- メディアコネクションオブジェクト
◆ callWithId:stream:options:
指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。
- 引数
-
peerId | 接続先リモートの peer ブローカー ID です (リモートのピア ID です) |
stream | 使用するローカルメディアストリームです |
options | 設定を指定します。 |
- 戻り値
- メディアコネクションオブジェクト
◆ connectWithId:
指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。
- 引数
-
peerId | 接続先リモートの peer ブローカー ID です (リモートのピア ID です) |
- 戻り値
データコネクションオブジェクト
◆ connectWithId:options:
指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。
- 引数
-
peerId | 接続先リモートの peer ブローカー ID です (リモートのピア ID です) |
options | 設定を指定します。 |
- 戻り値
データコネクションオブジェクト
◆ destroy
シグナリングサーバとの接続、および、接続済みのmediaConnection, dataConnectionを切断します。
- 戻り値
- 呼び出し結果
◆ 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 が存在するかどうかをシグナリングサーバから取得します。
NSString* peerId;
}
error:^(NSString* __nonnull message) {
}];
- 引数
-
peerId | 存在を確認したい Peer の Peer ID を指定します。 |
success | Peer が存在するかどうかを取得した時に実行するコールバックを設定します。 |
error | エラー発生時に実行するコールバックを設定します。 |
◆ initWithId:options:
- (instancetype __nullable) initWithId: |
|
(NSString *__nullable) |
peerId |
options: |
|
(SKWPeerOption *__nullable) |
options |
|
|
| |
SKWPeer オブジェクトの初期化を行います。
NSString* curtomPeerId = @"my-peer-id";
options.
key =
@"{your-dev-key}";
options.
domain = @”{your-domain}”;
options.
debug = SKW_PEER_DEBUG_LEVEL_ALL_LOGS;
SKWPeer* peer = [[
SKWPeer alloc] initWithId:curtomPeerId options:options];
- 引数
-
peerId | 接続するピア ID を指定します。nil を指定した場合、ピア ID をサーバから取得する処理を行います。 |
options | 設定情報オブジェクトを指定します。 |
- 戻り値
- ピアオブジェクト
◆ initWithOptions:
- (instancetype __nullable) initWithOptions: |
|
(SKWPeerOption *__nullable) |
options |
|
SKWPeer オブジェクトの初期化を行います。
options.
key =
@"{your-dev-key}";
options.
domain = @”{your-domain}”;
options.
debug = SKW_PEER_DEBUG_LEVEL_ALL_LOGS;
- 引数
-
- 戻り値
- ピアオブジェクト
◆ joinRoomWithName:options:
- (SKWRoom* __nullable) joinRoomWithName: |
|
(NSString *__nonnull) |
roomName |
options: |
|
(SKWRoomOption *__nonnull) |
option |
|
|
| |
ルームに参加します
フルメッシュルーム:
NSString* roomName = @"fullmesh_videochat_room";
option.stream = localStream;
SFU ルーム:
NSString* roomName = @"sfu_textchat_room";
- 引数
-
roomName | ルーム名 |
option | ルームオプション |
- 戻り値
- ルームに参加できた場合はルームオブジェクトが返されます。
◆ listAllPeers:
- (void) listAllPeers: |
|
(void(^)(NSArray *__nullable)) |
callback |
|
SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。
for (NSString* strPeer in aryPeers) {
}
}];
- 引数
-
◆ on:callback:
SKWPeer のイベントコールバック Block を設定します。
[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) {
}];
[peer
on:SKW_PEER_EVENT_CALL
callback:^(NSObject* 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) {
NSLog(@"%@", err);
}];
- 引数
-
event | 設定するイベント種別を指定します。 |
callback | イベント発生時に実行する Block を設定します。 |
◆ reconnect
(非推奨) シグナリングサーバへ再接続します。再接続の際には割り当て済みのPeer IDを使用します。
- 非推奨:
- このメソッドは非推奨となりました。代わりにPeerを再生成することを推奨します。
◆ updateCredential:
認証情報を更新します。
credential.
timestamp = [[NSDate date] timeIntervalSince1970];
credential.
authToken =
@"calculated auth token";
- 引数
-
◆ isDestroyed
破棄状態を表します。
isDestroyed | 状態 |
YES | 破棄状態です。 |
NO | 有効状態です。 |
◆ isDisconnected
切断状態を表します。
isDisconnected | 状態 |
YES | サーバとは切断されています。 |
NO | サーバとは接続されています。 |
NSUInteger ttl
Time to live(ttl)。タイムスタンプ + ttl の時間でクレデンシャルが失効します。ttlの取りうる値は600~90,000です。
Definition: SKWPeerCredential.h:24
SKWMediaConnection *__nullable callWithId:stream:options:(NSString *__nonnull peerId,[stream] SKWMediaStream *__nullable stream,[options] SKWCallOption *__nullable options)
指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。
DataConnection 相当のクラスです。
Definition: SKWDataConnection.h:41
BOOL destroy()
シグナリングサーバとの接続、および、接続済みのmediaConnection, dataConnectionを切断します。
void on:callback:(SKWPeerEventEnum event,[callback] SKWPeerEventCallback __nullable callback)
SKWPeer のイベントコールバック Block を設定します。
BOOL tryReconnectData
データ通信が切れた際に自動で再接続を試行する場合は YES を設定します。デフォルトでは NO となります。
Definition: SKWPeerOption.h:125
エラー情報クラス
Definition: SKWPeerError.h:76
NSString *__nullable key
SkyWay API キーを指定します
Definition: SKWPeerOption.h:63
ピアクラス
Definition: SKWPeer.h:106
メディアストリーム
Definition: SKWMediaStream.h:18
Peerを認証するためのクレデンシャル
Definition: SKWPeerCredential.h:14
SKWDataConnection *__nullable connectWithId:(NSString *__nonnull peerId)
指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。
MediaConnection 相当のクラスです。
Definition: SKWMediaConnection.h:52
void fetchPeerExistsWithPeerId:success:error:(NSString *__nonnull peerId,[success] void(^ __nonnull successCallback)(BOOL),[error] void(^ __nullable errorCallback)(NSString *__nonnull))
指定した Peer ID の Peer が存在するかどうかをシグナリングサーバから取得します。
NSString *__nullable domain
SkyWay API に関連するドメインを指定します
Definition: SKWPeerOption.h:98
NSUInteger timestamp
現在のUNIXタイムスタンプです。
Definition: SKWPeerCredential.h:19
@ SKW_ROOM_MODE_MESH
フルメッシュルーム
Definition: SKWRoomOption.h:21
NSString *__nullable metadata
メタデータを指定します コネクションに関連付けされるメタデータで、コネクションを開始したpeerに渡されます。
Definition: SKWCallOption.h:23
SKWDebugLevelEnum debug
ログレベルを指定します。デフォルトは PEER_DEBUG_LEVEL_NO_LOGS です。
Definition: SKWPeerOption.h:93
NSString *__nullable label
接続先のPeer IDを識別するのに利用するラベルを指定します。
Definition: SKWConnectOption.h:19
BOOL tryReconnectMedia
対向とのメディア通信が切れた際に自動で再接続を試行する場合は YES を設定します。デフォルトでは NO となります。
Definition: SKWPeerOption.h:120
BOOL turn
SkyWay TURN サーバを使用します (TURN サーバの利用を申請する必要があります)
Definition: SKWPeerOption.h:103
SKWDataConnection *__nullable connectWithId:options:(NSString *__nonnull peerId,[options] SKWConnectOption *__nullable options)
指定されたリモートへデータ接続を行い、SKWDataConnection を返します。失敗した場合には、error イベントが呼び出されます。
SKWPeer connect オプション
Definition: SKWConnectOption.h:14
NSString * authToken
HMACを利用して生成する認証用トークンです。
Definition: SKWPeerCredential.h:29
@ SKW_ROOM_MODE_SFU
SFU ルーム
Definition: SKWRoomOption.h:25
SKWMediaConnection *__nullable callWithId:stream:(NSString *__nonnull peerId,[stream] SKWMediaStream *__nullable stream)
指定されたリモートへメディア接続を行い、SKWMediaConnection を返します。失敗した場合には、error イベントが発生します。
NSString *__nullable metadata
メタデータを指定します。 コネクションに関連付けされるメタデータで、コネクションを開始したpeerに渡されます。
Definition: SKWConnectOption.h:27
SFU ルームクラス
Definition: SKWSFURoom.h:24
SKWPeer call オプション
Definition: SKWCallOption.h:14
SKWPeer 初期化オプションクラス
Definition: SKWPeerOption.h:53
void listAllPeers:(void(^ __nullable callback)(NSArray *__nullable))
SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。
SKWRoomModeEnum mode
ルームモードを指定します
Definition: SKWRoomOption.h:36
void updateCredential:(SKWPeerCredential *__nonnull newCredential)
認証情報を更新します。
メッシュ接続でのルームを提供するルームクラスです。
Definition: SKWMeshRoom.h:22
ルーム初期化オプションクラス
Definition: SKWRoomOption.h:31
SKWSerializationEnum serialization
データシリアライズ種別を指定します。
Definition: SKWConnectOption.h:32
@ SKW_SERIALIZATION_NONE
NONE
Definition: SKWConnection.h:26