shiguredo / sora-ios-sdk

WebRTC SFU Sora iOS SDK
https://sora-ios-sdk.shiguredo.jp/
Apache License 2.0
42 stars 8 forks source link

Configurationにシグナリングキーを設定する方法 #31

Closed tamiyoshi-naka closed 4 years ago

tamiyoshi-naka commented 4 years ago

WebRTC SFU Testing Service Sora Laboを利用して動作確認を進めておりますが、 Configurationにシグナリングキーへの設定方法を教えていただきたいです。

下記の方法で設定してみましたが、接続ログで「INVALID-SIGNALING-KEY」になり、 接続できていません。

        // シグナリング URL とチャネル ID を指定する
        var pubConfig = Configuration(url: soraURL,
                                      channelId: soraChannelId,
                                      role: .publisher)

        pubConfig.signalingConnectMetadata = """
{
 "signaling_key" : "<シグナリングキーの値>"
}
"""

よろしくお願いいたします。

szktty commented 4 years ago

@tamiyoshi-naka Sora Labo のシグナリングキーは次のように辞書で渡せば接続可能です。

pubConfig.signalingConnectMetadata = ["signaling_key": signalingKey]

signalingConnectMetadata に指定するメタデータは Encodable プロトコルによって JSON に変換されます。ご提示されたコードは「 JSON の記述を含む『文字列』」として解釈されるので、送受信されるメタデータは単なる「 JSON 文字列」となり、 Sora Labo が要求する「 JSON オブジェクト」と型が異なるため接続に失敗します。間違えやすい仕様かもしれませんが、任意のデータを送信するためですのでご了承ください。

ドキュメントにも追記しておきましたので、こちらも参考にしてください。 https://sora.shiguredo.jp/ios-sdk-doc/metadata.html

tamiyoshi-naka commented 4 years ago

@szktty 早速ご回答ありがとうございます。 WebRTC SFU Testing Service Sora Laboとの接続できたことを確認できました。 本件はクローズさせていただきます。ご対応ありがとうございました。