# メタデータ

## 概要

ここでは Sora Unity SDK のサンプル集を使ってメタデータの設定について説明します。

[Sora Unity SDK サンプル集](https://github.com/shiguredo/sora-unity-sdk/tree/master/SoraUnitySdkExamples)

## メタデータの設定

Sora Unity SDK のサンプル集ではいくつかのメタデータの設定を行っています。

### Signaling Notify Metadata

Sora に接続した時や切断したときに送るシグナリング通知に含まれるメタデータを設定できます。

シグナリング通知メタデータの詳細は Sora のドキュメントの [シグナリング通知メタデータ](https://sora-doc.shiguredo.jp/SIGNALING_NOTIFY_METADATA) を参照してください。

![image](https://i.gyazo.com/d463c5de266f28b83c8375d10699d1d0.png)

### Access Token

Sora Labo に接続するためのアクセストークンを設定します。

![image](https://i.gyazo.com/e7c5b65a4df3164560124608153512ce.png)

### それ以外のメタデータ

Inspector で設定可能なメタデータは上記の2つだけですが、SoraSample.cs を編集することでそれ以外のメタデータを設定することができます。

アクセストークンを設定している箇所で `Metadata` クラスを定義しているので、ここに追加したいメタデータを定義してください。

```csharp
[Serializable]
class Metadata
{
    // ここに追加したいメタデータを定義する
    public string access_token;
}

// アクセストークンがない場合はこの条件ではメタデータを設定しないため条件を変更する必要がある
// accessToken がある場合はメタデータを設定する
string metadata = "";
if (accessToken.Length != 0)
{
    var md = new Metadata()
    {
        access_token = accessToken
    };
    metadata = JsonUtility.ToJson(md);
}
```
