Moderation プラットフォームの使用の準備
注意: デジタルサービス法 (DSA) は、Unity が DSA に基づいて Unity のお客様のエンドユーザーに影響を及ぼす行動を取っているかについて、エンドユーザーに通知することを Unity に求めます。この要件に準拠するために、Unity Authentication Service を利用する Unity Gaming Services (UGS) 製品を使用している場合は、通知 API を組み込む必要があります。
詳細については、Digital Services Act - compliance update を参照してください。
ゲームを準拠させる方法については、DSA notifications を参照してください。
Unity Moderation の使用を準備する前に、すべての 要件 を満たしていることを確認します。
プロジェクトで Safe Text または Safe Voice を有効にしている場合は、Unity Cloud Dashboard 内の Moderation プラットフォームにアクセスできます。
Safe Voice または Safe Text のドキュメントのステップに従って、プロジェクト内でいずれかの製品をアクティベートできます。
Safe Text または Safe Voice がプロジェクトに追加されたら、以下のステップに従います。
プロジェクトで Moderation が動作したら、プロジェクトの他のメンバーに Safety Admin および Safety Moderator の ユーザーロールを割り当て、レポートのレビューを開始します。
許可リストに Moderation エンドポイントがあることを確認する
プロジェクトで アクセス制御 を使用している場合は、Deny by Default (デフォルトで拒否) の方法を適用できます。
その場合、Moderation SDK に Moderation サービスへのレポートの送信を許可するには、プレイヤーにレポートを送信する権限を与える必要があります。
以下のポリシーをプロジェクトに追加して、プレイヤーにレポートの送信を許可します。
{
"Sid": "allow-moderation-report",
"Action": ["*"],
"Effect": "Allow",
"Principal": "Player",
"Resource": "urn:ugs:moderation-report:/*"
}
Moderation SDK をインポートする
プロジェクトを Unity Cloud Dashboard にリンクしたら、Moderation パッケージの最新バージョンをインストールできます。
Unity Package Manager を使用して、Unity エディターで Moderation パッケージをインポートします。
Moderation パッケージはプレビュー段階であるため、Package Manager に表示するには プレビューパッケージを有効にする 必要があります。Unity エディターでプレビューパッケージを有効にするには、Edit (編集) > Project Setting (プロジェクト設定) > Package Manager > Advanced Settings を選択します。
ノート: Moderation SDK は、Package Manager の以下のバージョンの Unity で使用できます。
- 2021.3.32f1
- 2022.3.12f1
- 2023.1.17f1
- 2023.2.0b15
- 2023.3.0a11
Unity Services を初期化する
Moderation SDK は、プレイヤーを報告するために使用するクラスのシングルトンインスタンスを公開します。これを使用するには、Unity Services を初期化し、プレイヤーを Unity Authentication Service (UAS) で認証します。
以下のコードは、UAS を使用してユーザーを認証する方法の例を示します。
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?");
}
}