アプリjanus-gatewayのAPIの定義は公式サイトを見てもらうとして、でもあれってこんなんを送ったらこんなんが返ってくるかもぉっていう感じで、あくまでもアクセス例であって定義ではないと思うんよね。載ってないフィールドも有ったりするし💫💫💫ということで、Retrofit2でのAPI定義インターフェースを載せちゃうぞ🌟まずは、janus-gatewayそのものに対するREST風APIの定義から。pollのと一緒で先頭に{api}を入れているのはjanus-gatewayの設定でその部分のpathを変更することが可能だからであーる(まだ酔ってないよ)。多少冗長なのもあるけど、勘弁してな。あとPOJOはGitHubのリポジトリJanusRTCAndroidをみてな。destroy);上から順に何をするAPIかを簡単に書くとこんな感じです。createセッションを作成するためのAPI、返り値のセッションidを使って以降の処理を行います。info前回も少し触れましたが、janus-gatewayのサーバー情報を取得するためのAPIです。attachjanus-gatewayの実際の処理はプラグインを経由して行います。attachは指定したプラグインへ接続を行います。返ってきたプラグインid(プラグインハンドル)とセッションidを使うとプラグインに対して処理要求を行うことができます。destroyセッションを終了します。プラグインにattachしていればそれも開放されます。videoroomプラグインに対するAPI定義はこんな感じ。見て分かる通り、APIを送る先は全て同じ...違うのはリクエストボディだけなので本来はsendだけあれば十分なのですが、そうするとぱっと見でわかりにくくなるのと、リクエストボディのJSON文字列を自前で作らないといけなくなってしまい面倒なので、POJOからリクエストボディを生成できるようにヘルパーとして追加してあります。こっちも多少冗長ですが、勘弁してな。そもそもPOJO使わずに自前で送信データ生成するならRetrofit2を使う理由が半減してしまう気がするし。hangup);こっちも上から順に何をするAPIかを簡単に書くとこんな感じになります。joinビデオチャットルームへ参加します。publisherとして参加する場合もsubscriberとして参加する場合も同じAPIを叩きますが、リクエストボディが少し違います。offerシグナリングの際にofferを送る時に呼び出します。対となるanswerを送る時はsendで^^;trickleシグナリングの際にIceCandidateを送る時に呼び出します。trickleCompletedシグナリングの際にIceCandidateを送る時に呼び出します。本来はtrickleだけでいいのですが、リクエストボディが少し違うので専用に。sendプラグインに対するAPIコールは全てパスが同じでリクエストボディが違うだけなので実際はこのsendだけで十分です...以下省略detachプラグインからdetachします。これを呼び出すとプラグインid(プラグインハンドル)は無効になります。hangupプラグインとはattachしたままでPeerConnectionだけを切断したい場合に使うらしいです、でもサンプルアプリでは使っていません(。)いまいちユースケースを思いつかない💦API定義は以上、つまりこれであなたもフルスクラッチでjanus-gatewayと接続できる...んなわけねーだろな💦まぁできる人もいるだろうけどたいていはダメだろうなぁ^^;WebRTCのシグナリング周りに詳しければなんとかなるかもしれないけど、そもそもそれならこの記事を読まなくても作れるよな。飲んでは無いけど眠くなってきた(=_=)実はこっから先は書くのが難しい、WebRTCワカラナイマン(。)単純に言葉で表せば、janus-gatewayの話というよりも、WebRTCのPeerConnectionFactoryとPeerConnectionからのイベント/コールバックとそれに応じてjanus-gatewayのAPIを叩くってことになるんだけど。残るはAndroidでWebRTCの現時点でのネイティブAPIを使う時にどないするかということで、一旦janus-gatewayから離れてAndroidでWebRTCネイティブAPIを使う話を書こう(iOS?なにそれ?おいしいの?)。reserved.%d人のブロガーが「いいね」をつけました。このサイトでは利便性の向上の為に、機能的なクッキーと外部スクリプトを使用しています。同意しますプライバシー設定広告プライバシー設定このサイトでは利便性の向上の為に、機能的なクッキーと外部スクリプトを使用しています。どのクッキーとスクリプトが使用され、どのように訪問に影響を与えるかを左に示します。設定はいつでも変更できます。あなたの選択はサイトへの訪問に悪い影響を与えません。これらの設定は、現在使用しているブラウザとデバイスにのみ適用されます。広告このサイトでは、サイトや広告を改善するためにCookieを利用することがあります。本サイトを利用することでCookieの仕様に同意するものとします。