認証方法
Learn the differences between anonymous and external authentication providers to choose the best approach for your game.
読み終わるまでの所要時間 15 分最終更新 1ヶ月前
Unity Authentication では、匿名でのプレイヤーの認証と、外部 ID プロバイダー (Google Play Games、Facebook、Apple、Steam、OpenID Connect、コンソール固有のサインインなど) を介した認証がサポートされています。
匿名認証
匿名認証は、ゲストサインインに似ています。プレイヤーが認証情報を入力したり、プレイヤープロファイルを作成したりする必要はありません。アプリケーションに匿名認証を実装するには、Unity Authentication に対して API 呼び出しを行います。このサービスでは、PlayerID と、関連するセッショントークンが作成されます。詳細については、匿名ログインの使用方法 を参照してください。
これはプレイヤーによる入力が不要なため、ゲームのプレイヤーにとって最も抵抗の少ない方法です。ただし、別のデバイスから再度プレイヤーの認証を行う手段がないので、匿名認証はデバイス間で移植できません。別のデバイスから同じプレイヤープロファイルを使用して同じゲームにサインインするには、外部 ID プロバイダーを使用する必要があります。
プラットフォーム固有の認証 / サードパーティ認証
プラットフォーム固有の認証 (サードパーティ認証、外部認証とも呼ばれます) では、外部 ID プロバイダーを使用します。つまり、Unity Authentication がプレイヤーの有効性を確認できるように、ID プロバイダーの設定を作成する必要があります。それによって、複数のデバイスから同じプレイヤーの認証を行えるようになります。
通常、このプロセスはプレイヤーが E メールアドレス、またはユーザー名とパスワードを使用して外部 ID プロバイダー経由でサインインするときに開始されます。プレイヤーがサインインすると、有効性を確認するためにトークンが Unity Authentication に送信されます。外部 ID プロバイダーによってトークンが有効であると確認されると、トークンは PlayerID に関連付けられます。
これらの外部 ID プロバイダーは、Unity Authentication で以下のようにサポートされます。
- Unity Player Accounts: プレイヤーは、Unity Player アカウントの認証情報を使用して認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) はデバイス間で一貫したものになります。Unity Player アカウントを ID プロバイダーとして有効にするには、ゲームの Unity Player アカウント クライアント ID を指定した Unity Authentication の ID プロバイダーを設定する必要があります。Unity Player Accounts サインイン を参照してください。
- Google: プレイヤーは、Google アカウントの認証情報を使用して認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) が Android デバイス間で維持されます。Google を外部 ID プロバイダーとして有効にするには、ゲームの OAuth クライアント ID を指定した Unity Authentication の ID プロバイダーを設定する必要があります。Google サインイン を参照してください。
- Google Play Games: プレイヤーは、Google Play Games アカウントの認証情報を使用して認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) が Android デバイス間で維持されます。Google を外部 ID プロバイダーとして有効にするためには、ゲームの OAuth クライアント ID を指定した Unity Authentication の ID プロバイダーを設定する必要があります。Google Play Games サインイン を参照してください。
- Facebook: プレイヤーは、Facebook アカウントの認証情報を使用して認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) はデバイス間で一貫したものになります。Facebook を外部 ID プロバイダーとして有効にするには、ゲームの Facebook アプリケーション ID と Facebook アプリケーションシークレットを指定した Unity Authentication の ID プロバイダーを設定する必要があります。Unity Authentication は、Facebook からの USER トークンタイプのみを認証用に受け入れます。Facebook サインイン を参照してください。
- Apple: プレイヤーは、Apple アカウントの認証情報を使用して iOS デバイス上で認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) は Apple デバイス間で一貫したものになります。Apple を外部 ID プロバイダーとして有効にするためには、ゲームの OAuth クライアント ID を指定した Unity Authentication の ID プロバイダーを設定する必要があります。Apple サインイン を参照してください。
- Steam: プレイヤーは、Steam アカウントの認証情報を使用して認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) はデバイス間で一貫したものになります。Steam を外部 ID プロバイダーとして有効にするには、ゲームの Steam アプリケーション ID と Steam API キーを指定した Unity Authentication の ID プロバイダーを設定する必要があります。Steam サインイン を参照してください。
- Oculus (Meta Quest): プレイヤーは、Oculus アカウントの認証情報を使用して認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) はデバイス間で一貫したものになります。Oculus を外部 ID プロバイダーとして有効にするには、ゲームの Oculus アプリケーション ID とクライアントシークレットを指定した Unity Authentication の ID プロバイダーを設定する必要があります。Oculus サインイン を参照してください。
- Apple Game Center: プレイヤーは、Apple Game Center の認証情報を使用して認証を行います。同じアカウントを使用して認証を行う場合、プレイヤーの体験 (およびプレイヤー ID) はデバイス間で一貫したものになります。Apple Game Center を外部 ID プロバイダーとして有効にするには、ゲームの Apple バンドル ID を指定した Unity Authentication の ID プロバイダーを設定する必要があります。Apple Game Center サインイン を参照してください。
カスタム認証
独自のカスタム認証ソリューションを Unity Authentication と統合することができます。これを行うには、Unity Authentication がプレイヤーの有効性を確認できるように、カスタム認証システムの ID プロバイダーの設定を作成する必要があります。それによって、複数のデバイスから同じプレイヤーの認証を行えるようになります。
Unity Authentication では OpenID Connect プロトコルを使用したカスタム ID プロバイダー経由でのプレイヤーの認証と、独自のゲームサーバーを使用したカスタム ID 認証の実行 (カスタム ID サインイン を参照) がサポートされています。
ゲームが起動すると、Unity Authentication は、有効な永続セッションが存在するかどうかを確認します。存在しない場合、ゲーム開発者はプレイヤーにサインインオプションを提供できます。オプションはゲームが実行されているプラットフォームによって異なります。プレイヤーの認証後に、ゲームで匿名プレイヤーを外部 ID プロバイダーにリンクする、または匿名プレイヤーを外部 ID プロバイダーからリンク解除する手段があるかどうかが示されます。