# Leaderboards の使用の準備

> Set up and integrate Leaderboards into your project using the Unity Dashboard, Software Development Kit, CLI, or REST API.

Leaderboards の使用に向けた最初のステップは、機能の実装方法を学ぶことです。このセクションでは、プロジェクト向けに Leaderboards を設定する方法について説明します。

| **トピック**                                                 | **説明**                                                                  |
| -------------------------------------------------------- | ----------------------------------------------------------------------- |
| [Unity Dashboard での Leaderboards](#unity-dashboard)      | Leaderboards が Unity Dashboard 上のどこにあるかを説明します。                          |
| [SDK のインストールと設定](#unity-sdk-installation-and-setup)      | プロジェクトを Unity Gaming Services プロジェクトにリンクし、SDK のインストールと設定を行う方法について説明します。 |
| [UGS CLI での Leaderboards](#leaderboards-in-the-ugs-cli)  | Unity CLI を使用して Leaderboards を操作する方法について説明します。                          |
| [Leaderboards REST API の使用](#leaderboards-rest-api)      | Unity SDK なしで Leaderboards にアクセスするために利用できる REST API について説明します。          |
| [Cloud Code での Leaderboards の使用](./access-cloud-code.md) | Cloud Code サービスを利用して Leaderboards にアクセスする方法について説明します。                   |

## Unity Dashboard##unity-dashboard

[Unity Dashboard](https://dashboard.unity3d.com/gaming/organizations/default/projects/default/environments/default/leaderboards/about) で Leaderboards にアクセスできます。Leaderboards は、Main Menu (メインメニュー) で **LiveOps** を選択すると見つかります。

Unity Dashboard は、リーダーボードを作成、管理し、そのエントリーを表示するために使用します。

## Unity SDK のインストールと設定##unity-sdk-installation-and-setup

Leaderboards SDK には、Unity 2020.3.0 以降が必要です。

### Leaderboards SDK のインストール##install-leaderboards-sdk

Unity エディターでパッケージをインストールできます。

**Window (ウィンドウ) > Package Manager** (パッケージマネージャー) の順に移動し、左上の Packages (パッケージ) ドロップダウンで **Unity Registry** (Unity レジストリ) を選択します。以下のいずれかを行います。

* 右上の検索バーで **Leaderboards** を検索します。
* 名前を指定してパッケージを追加します。**+** で示されているドロップダウンを開き、**Add package by name...** (パッケージを名前で追加..) を選択します。SDK パッケージ ID の **"com.unity.services.leaderboards"** をバージョン番号なしで検索します。


**Frame:**
![](/api/media?file=/leaderboards/media/images/install-package-by-name.png)

> **Note:**
>
> **ノート**: `Samples` セクションでは、ゲームから Leaderboards SDK を呼び出すのに役立つ サンプルコード をプロジェクトにインポートできます。

インストール後は、Unity スクリプト内で `Unity.Services.Leaderboards` 名前空間から以下のように Leaderboards SDK を使用できます。

C#:

```cs
using Unity.Services.Leaderboards;
```

### Authentication SDK のインストール##install-authentication-sdk

Leaderboards パッケージは、Authentication パッケージに依存します。[Unity Authentication](/authentication/.md) サービスによってプレイヤースコアを保持するアカウントが作成され、そのアカウントで [匿名ログイン](/authentication/use-anon-sign-in.md) や [プラットフォーム固有の認証](/authentication/approaches-to-authentication.md) を使用できます。

Authentication パッケージは、Leaderboards パッケージのインストール時に依存関係としてインストールされます。パッケージの手動インストールの詳細については、[レジストリからのインストール](https://docs.unity3d.com/Manual/upm-ui-install.html) を参照してください。

インストール後は、Unity スクリプト内で `Unity.Services.Authentication` 名前空間から以下のように Authentication SDK を使用できます。

C#:

```cs
using Unity.Services.Authentication;
```

### Unity プロジェクトのリンク##link-your-unity-project

Authentication パッケージをインストールすると、Unity プロジェクトを Unity Game Services プロジェクト ID にリンクするよう求める、以下のようなプロンプトが表示されます。画面上のプロンプトの手順に従い、プロジェクトをリンクしてください。


**Frame:**
![](/api/media?file=/leaderboards/media/images/link-unity-project.png)

このプロンプトが表示されない場合は、以下の手順に従って Unity プロジェクトをプロジェクト ID にリンクしてください。

* Unity エディターで、**Edit** (編集) > **Project Settings...** (プロジェクト設定...) の順に選択します。
* **Services** (サービス) を選択し、
  * Unity ID がある場合はサインインします。
  * ない場合は、**Create a Unity ID** を選択します。
* プロジェクトを選択します。
* **Link** を選択します。

### SDK の初期化およびプレイヤーの認証##initialize-the-sdks-and-authenticate-the-player

使用する前に、Unity スクリプトのライフサイクルコールバック内から Leaderboards SDK とその依存関係を初期化する必要があります。以下の例では、`Awake` コールバックを使用しています。具体的には、`Unity.Services.Core` 名前空間から使用できる `await UnityServices.InitializeAsync();` を呼び出し、コア SDK を介してインストールしたすべてのサービスを初期化するという方法で処理しています。

SDK の初期化が完了した後に、プレイヤーが認証されます。以下の例では、プレイヤーがスコアを保持できるように、匿名認証を使用して匿名アカウントを作成しています。[Unity Authentication](/authentication/.md) のドキュメントに記載されているように、その他の認証方法も利用できます。

C#:

```cs
using UnityEngine;
using Unity.Services.Core;
using Unity.Services.Authentication;

public class LeaderboardsSample : MonoBehaviour
{
  private async void Awake()
    {
        await UnityServices.InitializeAsync();
        await AuthenticationService.Instance.SignInAnonymouslyAsync();
    }
}
```

### 次のステップ##next-steps

上記のステップが完了したら、いつでも `Unity.Services.Leaderboards` 名前空間から Leaderboards SDK を使用できます。[機能](./features.md)、SDK ドキュメント、SDK サンプル を確認して、Leaderboards の機能セットとその使用方法について詳しく理解してください。

## UGS CLI での Leaderboards##leaderboards-in-the-ugs-cli

Unity Gaming Services (UGS) コマンドラインインターフェースは、Unity Dashboard の代わりに使用できるスケーラブルで自動化可能な手段であり、チームのワークフローや生産性を向上できます。CLI は、Leaderboards 設定を管理、テスト、デプロイするために使用します。

CLI をインストールして使用する方法については、[こちらのドキュメント](https://services.docs.unity.com/guides/ugs-cli/latest/general/overview) を参照してください。

## Leaderboards REST API##leaderboards-rest-api

Unity を使用しない開発者は、ウェブエンドポイント、つまり REST API を介して API にアクセスできます。REST API はより柔軟性があり、開発者は好みの言語やゲーム開発エンジンを使用してワークフローを自動化することができます。

Leaderboards サービスでは、以下の REST API を提供します。

* [Leaderboards Player API](https://services.docs.unity.com/leaderboards/): プレイヤーアクションの実行 (スコアの送信や取得など) に使用します。
* [Leaderboards Admin API](https://services.docs.unity.com/leaderboards-admin/): 管理者アクション (リーダーボードの作成や更新、スコアの削除やリセットなど) の実行のほか、プレイヤーの代わりにプレイヤーアクションを実行するためにも使用します。

## 追加リソース##leaderboards-authoring

* [Unity Dashboard](https://dashboard.unity3d.com/)
* [Package Manager](https://docs.unity3d.com/Manual/upm-ui.html)
* [Unity Authentication](/authentication/.md)
