LoginSignup
27
30

More than 3 years have passed since last update.

Clubhouseを支えるリアルタイム通話サービスagoraを紹介!

Posted at

はじめに

今回は、今はやりのClubhouseで使われているリアルタイム通話サービスAgoraの紹介をします!
すごく簡単に導入できるので、興味を持った方は是非試してみてください!

YouTube動画

文字だけでなく、動画での解説もしています。
興味のある方はこちらも見ていただけると嬉しいです。
【YouTube動画】Clubhouse を支える音声サービス agora の紹介
Clubhouse を支える音声サービス agora の紹介

Agoraとは

Agoraは、音声やビデオ通話を簡単に実装できるリアルタイム通話サービスです。
料金は、音声:1000分/$1  ビデオ:1000分/$4です。
また、無料枠が10,000分あります。(YouTube動画内では無料枠が1000分となっていますが、無料枠は10,000分のようです。https://www.agora.io/en/pricing/)

類似サービスには、TwilioSkywayがありますが、いずれもAgoraとほぼ同じことができます。

実装方法

Agoraは公式ライブラリが充実していて、JavaScriptをはじめ、複数の言語でとても簡単に実装できます。
以下はJavaScriptの例です。

import AgoraRTC from 'agora-rtc-sdk'

const client = AgoraRTC.createClient({ mode: 'rtc', code: 'vp8'})
client.init('<app id>')
client = join('<token>', '<channel>', null, (uid) => {
  const localStream = AgoraRTC.createStream({ audio: true, video true })
  localStream.init(() => {
    localStream.play('me')
    client.publish(localStream)
  })
})

client.on('stream-added', (event) => {
  // ユーザが追加された場合の処理を記載する
})

client.on('stream-removed', (event) => {
  // ユーザが外れた場合の処理を記載する
})

なお、SSRができるJavaScriptフレームワーク(Next.jsなど)でAgoraRTCを使う場合、AgoraRTC内でwindowオブジェクトを使用しているため、
サーバサイド側の処理でAgoraRTCをインポートしないように注意してください。

他のリアルタイム通話サービスとの比較

他サービス(Twilio, Skywayなど)と比較したAgoraの特徴は以下の3つです。

特徴1. 実装が簡単

実装する際のコード量が少なく、実装が簡単です。

特徴2. ライブラリが充実

TwilioやSkywayはJavaScriptやAndroid、iOSのライブラリしかないのに比べAgoraは公式ライブラリが充実しており、例えばReactNative、Unity、Cocoa2D、Electron、Windows、MacOSなどもあります。

特徴3.ドキュメントがわかりやすい

JavaScriptを使ってみたところ、1時間で双方向通話が可能になるくらい、ドキュメントがわかりやすいです。
ただ、Next.jsなどを使うと詰まってしまうので、ReactやVueを使うのがオススメです。

まとめ

今回はClubhouseの通話関連サービスAgoraについて紹介しました。Clubhouseは音声だけですが、Agoraを使って音声に何かプラスしたクローンサービスを作ってみると面白いかもしれません。

27
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
30