「Unity/Agora/voicechat community/token取得」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→goのtokenを設定) |
(→agora-token-service設定) |
||
| 行38: | 行38: | ||
</pre> | </pre> | ||
$ go run cmd/main.go | $ go run cmd/main.go | ||
| + | |||
| + | ==PHPでワンタイムtokenを取得する== | ||
| + | git clone https://github.com/AgoraIO/Tools.git | ||
| + | $ agora-token/Tools/DynamicKey/AgoraDynamicKey/php をサーバーへ設置する。 | ||
| + | #AccessToken2Sample.phpを確認する | ||
| + | #serverURLにttp://localhost:8080/php/sample/AccessToken2Sample.phpを設置する | ||
| + | #処理すると、ttp://localhost:8080/php/sample/AccessToken2Sample.php?/rtc/unity3d/publisher/uid/0/?expiry=3600 が実行される。 | ||
| + | #このときrtcとuidの取得方法は、以下の通り。 | ||
| + | <pre> | ||
| + | if (preg_match("!/rtc/([\d\w]+)!", $_SERVER['QUERY_STRING'], $matches)) { | ||
| + | $channelName = $matches[0]; | ||
| + | } | ||
| + | if (preg_match("!/uid/([\d\w]+)!", $_SERVER['QUERY_STRING'], $matches)) { | ||
| + | $uid = $matches[0]; | ||
| + | $uidStr = $matches[0]; | ||
| + | } | ||
| + | </pre> | ||
2022年12月10日 (土) 01:45時点における版
目次
1日有効な本番token取得
- https://console.agora.io/ にアクセス
- stageをliveに
- Generate temp RTC tokenを選択して、チャンネル名を入れてtokenを取得
- サンプルのClientManagerTestシーンの、CanvasVideoのInspectorにあるuseTokenを、falseにして、token文字列を設置するとつながる
本番tokenをワンタイムtoken経由で取得する
- VideoCanvasのオブジェクトとかに、ClientTokenを検索してAddComponentする
- ServerURLを入れる。(ttp://localhost:8080/ な感じ。この場合ttp://localhost:8080/rte/testing/publisher/uid/1234/?3600 にアクセスされる)
useTokenをtrueにすることでエラーになる
ArgumentNullException: String reference not set to an instance of a String. Parameter name: source
GetRtcToken()内の以下場所で、serverURLが、nullなので、エラーが出てるっぽい。
if (!serverURL.StartsWith("http"))
ClientTokenを、どこかのGameObjectにAddComponentしてServerURLを設定すれば良い。
serverURLを入れる必要がありそう
/// The helper class gets the token from a server endpoint conformed to /// format like this: /// http://localhost:8080/rte/testing/publisher/uid/1234/?3600 /// See the GitHub project for compatible server code in GoLang: /// https://github.com/AgoraIO-Community/agora-token-service
golangでワンタイムtokenを設定
https://github.com/AgoraIO-Community/agora-token-service
agora-token-service設定
$ git clone https://github.com/AgoraIO-Community/agora-token-service.git $ cp .env.example .env
.envを設定
APP_ID= APP_CERTIFICATE=
$ go run cmd/main.go
PHPでワンタイムtokenを取得する
git clone https://github.com/AgoraIO/Tools.git $ agora-token/Tools/DynamicKey/AgoraDynamicKey/php をサーバーへ設置する。
- AccessToken2Sample.phpを確認する
- serverURLにttp://localhost:8080/php/sample/AccessToken2Sample.phpを設置する
- 処理すると、ttp://localhost:8080/php/sample/AccessToken2Sample.php?/rtc/unity3d/publisher/uid/0/?expiry=3600 が実行される。
- このときrtcとuidの取得方法は、以下の通り。
if (preg_match("!/rtc/([\d\w]+)!", $_SERVER['QUERY_STRING'], $matches)) {
$channelName = $matches[0];
}
if (preg_match("!/uid/([\d\w]+)!", $_SERVER['QUERY_STRING'], $matches)) {
$uid = $matches[0];
$uidStr = $matches[0];
}
