> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ログインの基本とベスト プラクティス

> PlayFab のプレイヤー ログイン オプション、匿名ログインと復元可能なサインイン メカニズムの違い、認証方法を選択するためのベスト プラクティスを理解します。

## プラットフォーム固有の認証チュートリアル

プラットフォーム固有の認証チュートリアルはすべて [LoginWithCustomID](xref:titleid.playfabapi.com.client.authentication.loginwithcustomid) を使用したログインを示していますが、公開されているゲームでこのログインを使用するケースは、PlayFab アカウントを既存のデータベースまたは別のバックエンド システムとペアリングする場合に限定されます。

それ以外の場合、公開されているタイトルがカスタム ID をプライマリ ログインに使用することはまれです。ほとんどの場合、プレイヤーのプラットフォームに関する追加情報を取得したいためです。

### なぜこれを最初に紹介するのか

率直に言うと、最も簡単だからです。カスタム ID は何でもよく、最初の API を呼び出すことが容易になります。タイトルの開発とリリースに真剣に取り組み始めると、別のログイン メカニズムに切り替えることになる可能性が高いです。

### ベスト プラクティス

リリースするタイトルで `LoginWithCustomId` を使用したい *正確な* 理由がわからない限り、リリース前に別のログイン メカニズムに移行する必要があります。

## 匿名ログイン メカニズム

匿名ログイン メカニズムは最もシンプルに使用できます。プレイヤーからの入力は *まったく* 必要ないため、初回ユーザー エクスペリエンスに摩擦がなく、結果として各プレイヤーに対して PlayFab で一意のアカウントが作成されます。*これは最も一般的なログイン メカニズムです*。

これらのログインには次のものが含まれます。

* [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
* [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
* [LoginWithCustomID](xref:titleid.playfabapi.com.client.authentication.loginwithcustomid)
* [LoginWithNintendoSwitchDeviceId](xref:titleid.playfabapi.com.client.authentication.loginwithnintendoswitchdeviceid)

これらは匿名なので、これらのメソッドはデバイスを一意に識別できますが、*プレイヤーに関する復元可能な情報は含みません*。プレイヤーがデバイスを紛失したり壊したりすると、アカウントが失われ、回復が困難になる可能性があります。ほとんどの場合、アカウントはロストしてしまい、回復できません。

ではなぜ使用するのでしょうか? プレイヤーにとって入口の障壁が最も低く、対話を必要としないからです。プレイヤーは最小限の労力でゲームを試すことができ、そのデバイスがある限り継続性のためのアカウントも作成されます。

### ベスト プラクティス

ゲームでは、新しいアカウントの作成や新しいデバイスを既存のアカウントにリンクするために *匿名* ログインを使用する必要があります。メール アドレスや識別可能な情報を求められるゲームを避けるプレイヤーもいるため、これをお勧めします。

ただし、匿名ログインが完了したら、*復元可能な* ログイン資格情報を追加するオプションを提供し、そのメリットについて説明を加えるべきです。

特に、有料顧客のアカウントの喪失を防ぐため、彼らを *復元可能な* ログイン システムに誘導するようにしてください。永久に失われた無料アカウントは残念です...

永久に失われた有料アカウントは収益に影響します。

### iOS デバイス

iOS デバイスの場合、プレイヤーがゲームをアンインストールして再インストールすると、プレイヤー ID が変わります。iOS で一貫した ID を保証する 1 つの方法は、プレイヤーのデバイス ID を iTunes キーチェーンに保存して、ゲームの開始時にそこから読み取ってサインインに使用することです。

他のデバイスやプラットフォームに対して一意のカスタム ID を生成する方法を判断する必要があります。カスタム ID は他のプラットフォームやデバイスにとって有効な代替手段ですが、慎重に生成する必要があります。単純すぎると、ハッカーが他のアカウントを盗むリスクがあります。

### Android デバイス

最新のベスト プラクティスについては、[Google のユーザー データ ID に関するガイドライン](https://developer.android.com/training/articles/user-data-ids) を参照してください。

<Note>
  復元可能なログインのバインドは、デバイスごとに *1 回のみ* 必要です。バインドされると、ゲームは引き続き匿名ログインを問題なく使用できます。次のセクションをご覧ください。
</Note>

匿名ログインはプレイヤーにとって便利ですが、必須では *ありません*。ゲームは復元可能なログイン メカニズムだけに依存できます。ただし、プレイヤーは毎回パスワードを入力する必要がない方が幸せです。

## 復元可能なログイン メカニズム

*復元可能な* ログイン メカニズムには、プレイヤーからの何らかの ID 情報が必要です。上記のように、最良のプレイヤー エクスペリエンスのために匿名ログインと組み合わせることができます。

### PlayFab 純粋オプション

最もシンプルなオプションは次のとおりです。

* [LoginWithPlayFab](xref:titleid.playfabapi.com.client.authentication.loginwithplayfab)
* [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)

これを使用すると、メール アドレスまたはユーザー名 + パスワードが PlayFab によって直接認証されます。ユーザーがパスワードを忘れた場合 *でも*、メール アドレスまたはユーザー名でアカウントを復元できます。ログインは一般的に安全です (ゲームに独自のパスワード強度チェックを実装してこれを向上させることができます)。

### サードパーティ API オプション

これらは別のサービスへの個別の API 呼び出しを必要としますが、追加の SDK インストールは不要です。

* [LoginWithKongregate](xref:titleid.playfabapi.com.client.authentication.loginwithkongregate)
* [LoginWithSteam](xref:titleid.playfabapi.com.client.authentication.loginwithsteam)
* [LoginWithTwitch](xref:titleid.playfabapi.com.client.authentication.loginwithtwitch)
* [LoginWithGameCenter](xref:titleid.playfabapi.com.client.authentication.loginwithgamecenter) (iOS のみ、安全な認証を必要とする場合)

安全な認証は、ユーザーとサードパーティ サービス API 呼び出しの間で行われます。

### サードパーティ SDK オプション

これらはゲームに個別の SDK をインストールする必要があります。安全な認証はサードパーティ SDK 内で行われます。

* [LoginWithFacebook](xref:titleid.playfabapi.com.client.authentication.loginwithfacebook)
* [LoginWithGoogleAccount](xref:titleid.playfabapi.com.client.authentication.loginwithgoogleaccount)

すべてのサードパーティ オプションでは、それらのサービスがログイン資格情報を処理し、適切な PlayFab ログイン メソッドに安全なトークンを渡します。PlayFab はこれらのサービスのログイン資格情報を認識しないままです。

### その他のベスト プラクティス

基本的なログインには適切な匿名ログインを使用し、プレイヤーに復元可能なログインへのリンクを促してください。慣れている、または安心して使える復元可能なメカニズムを 1 つ以上選択してください。

<Tip>
  アカウント回復には *1 つ* の復元可能なログインしか必要ないため、プレイヤーにすべてを使用するように圧力をかけないでください。
</Tip>

## セキュリティが弱いログイン メカニズム

復元可能なログイン メカニズムの利点の 1 つは、ユーザーのカスタム ID が共有シークレットのままであることに依存するのではなく、サードパーティで検証済みの認証を必要とするため、カスタム ID でのログインよりも安全であることです。

## まとめ

匿名ログインは素晴らしく、ユーザーに完全に自動化されたログイン プロセスを提供します。欠点はアカウントの回復であり、復元可能なログインなしでは不可能な場合があります。

以下のフロー チャートは、匿名ログインとその後の復元可能なログイン メカニズムの追加を示しています。

<img src="https://mintcdn.com/microsoft-4404708b/3hg2JQs0m7qmDqay/images/playfab/identity/player-identity/tutorials/playfab-anonymous-login-and-recoverable-login.png?fit=max&auto=format&n=3hg2JQs0m7qmDqay&q=85&s=33569b13f8e303cf4cf96fa2673a975a" alt="PayFab の匿名ログインと復元可能なログイン メカニズム" width="866" height="802" data-path="images/playfab/identity/player-identity/tutorials/playfab-anonymous-login-and-recoverable-login.png" />

### ベスト プラクティス

デバイスに適した匿名ログインを、1 つ以上のアカウント回復オプションと組み合わせて使用します。


## Related topics

- [サーバー匿名ログイン認証](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/anonymous-login.md)
- [XBOX Live タイトルの関連付け](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/xbox-live-add-on.md)
- [Kongregate と HTML5 を使用した PlayFab 認証のセットアップ](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/kongregate-html5.md)
- [NodeJS クイックスタート](/ja-jp/services/playfab/sdks/nodejs/quickstart.md)
- [Native と Phaser 向け JavaScript クイックスタート](/ja-jp/services/playfab/sdks/javascript/quickstart.md)
