# Moderation SDK の統合

> Moderation ダッシュボードにアクセスして使用を開始する方法について説明します。

> **Warning:**
>
> デジタルサービス法 (DSA) は、Unity が DSA に基づいて Unity のお客様のエンドユーザーに影響を及ぼす行動を取っているかについて、エンドユーザーに通知することを Unity に求めます。この要件に準拠するために、Unity Authentication Service を利用する Unity Gaming Services (UGS) 製品を使用している場合は、通知 API を組み込む必要があります。
>
> 詳細については、[Digital Services Act - compliance update](https://unity.com/legal/digital-services-act) を参照してください。
>
> ゲームを準拠させる方法については、[DSA notifications](/authentication/dsa-notifications.md.md) を参照してください。

Unity Moderation の使用を準備する前に、すべての [要件](./requirements.md) を満たしていることを確認します。

プロジェクトで Safe Text を有効にしている場合は、Unity Dashboard 内の Moderation ダッシュボードにアクセスできます。

[Safe Text](/safe-text/get-started.md) のドキュメントのステップに従って、プロジェクト内で製品をアクティブ化できます。

Safe Text がプロジェクトで有効になったら、以下のステップに進みます。

1. [許可リストに Moderation エンドポイントがあることを確認する](#ensure-moderation-endpoints-on-the-allowlist)。
2. [Moderation SDK を加える](#import-the-moderation-sdk)。
3. [Unity Services を初期化する](#initialize-unity-services)。

プロジェクトで Moderation が動作したら、プロジェクトの他のメンバーに Safety Admin および Safety Moderator の [ユーザーロールを割り当て](./user-roles.md)、レポートのレビューを開始します。

## 許可リストに Moderation エンドポイントがあることを確認する##ensure-moderation-endpoints-on-the-allowlist

プロジェクトで [アクセス制御](/services/access-control.md) を使用している場合は、[Deny by Default](/services/access-control.md#deny-by-default) (デフォルトで拒否) の方法を適用できます。

その場合、Moderation SDK に Moderation サービスへのレポートの送信を許可するには、プレイヤーにレポートを送信する権限を与える必要があります。

以下のポリシーをプロジェクトに追加して、プレイヤーにレポートの送信を許可します。

```json
{
  "Sid": "allow-moderation-report",
  "Action": ["*"],
  "Effect": "Allow",
  "Principal": "Player",
  "Resource": "urn:ugs:moderation-report:/*"
}
```

## Moderation SDK をインポートする##import-the-moderation-sdk

プロジェクトを Unity Dashboard にリンクしたら、Moderation パッケージの最新バージョンをインストールできます。

[Unity Package Manager](https://docs.unity3d.com/Manual/upm-ui.html) を使用して、Unity エディターで Moderation パッケージをインポートします。

> **Note:**
>
> Moderation SDK は、Package Manager の以下のバージョンの Unity で使用できます。
>
> * 2021.3.32f1
> * 2022.3.12f1
> * 2023.1.17f1
> * 2023.2.0b15
> * 2023.3.0a11

## Unity Services を初期化する##initialize-unity-services

Moderation SDK は、プレイヤーの報告に使用できるクラスのシングルトンインスタンスを公開します。これを使用するには、Unity Services を初期化し、プレイヤーを Unity Authentication Service (UAS) で認証します。

以下のコードは、UAS を使用してユーザーを認証する方法の例を示します。

```cs
using Unity.Services.Core;
using Unity.Services.Authentication;
async void Start()
{
    await UnityServices.InitializeAsync();
    await AuthenticationService.Instance.SignInAnonymouslyAsync();
    if (AuthenticationService.Instance.IsSignedIn)
    {
        // game code.
    }
    else
    {
        Debug.Log("Player was not signed in successfully?");
    }
}
```
