アカウントのリンクのクイックスタート

このアカウントのリンクのクイックスタートは、複数のデバイスとログインメカニズムにアカウントをバインドする方法を示しています。

1つの PlayFab アカウントには、多くのデバイスやログイン資格情報を使用してアクセスできます。 このチュートリアルでは、ログインの基本とベストプラクティスについて説明していますが、2種類のユーザー認証があります。

  1. Anonymous
  2. できる

回復可能なログインを既存の匿名アカウントに追加する

初めてログインしたときには、匿名のログインとして使用するのが一般的です。 これにより、プレイヤーがゲームを摩擦なくなります。

ただし、プレイヤーがゲームに投資した後は、回復可能なログイン方法を追加するように求められます。これにより、デバイス障害やその他の問題が発生した場合にアカウントが回復可能になります。

このセクションでは、匿名アカウントに回復可能なログインメカニズムを追加する方法について説明します。

注意

匿名ログインは依然として関連しており、引き続き、プレイヤーの主要な競合のないログインとして使用することができます。 これらのオプションは、ユーザーがアカウントを復元しようとしている場合、または、プラットフォーム固有の機能を使用している場合、または2番目の匿名デバイスにリンクしている場合にのみ、これらのオプションを使用します。

匿名ログインと回復可能なログインメカニズム

このチュートリアルの焦点は、前の画像の下部 ( AddUsernamePasswordlinkwithfacebook、またはlinkwithfacebook) にあります。 これは、回復可能なログインメカニズムで利用できる、より大きな一連のオプションを示しています。

  • AddUsernamePasswordは、 LoginwithplayfabLoginWithEmailAddressのどちらか一方または両方を有効にするために使用されます。 これらのオプションでは、ユーザー名/メールアドレスとパスワードの資格情報を PlayFab で直接保存します。 プレイヤーが自分のアカウントを復元するには、ゲーム、web サイト、またはカスタマーサービスが次のようにトリガーされることがあります。
    • そのメールアドレスのSendaccountrecoveryemail 。 プレーヤーが偽のメールアドレスを入力した場合でも、引き続きPlayfab ゲームマネージャーを使用して、プレーヤーのメールアドレスを更新することができます。ただし、顧客サービス担当者が、一般的なソーシャルエンジニアリングのテクニックを把握するためのトレーニングを受けていることを確認して、アカウントの実際の所有者のメールアドレスのみを更新すること

サードパーティの回復可能なログインメカニズムでは、各ユーザーが適切な SDK またはサードパーティの API 呼び出しを使用してログインするよう求めるメッセージが表示されます。 通常、そのアカウントを PlayFab にリンクするのは、同じパターンに従います。

  1. 最初に、ログインの基礎とベストプラクティスの詳細については、そのサービスにログインするようにユーザーに指示します。
  2. ログインした後、これらのサービスはいくつかの種類のトークンを提供します。これは、PlayFab に渡すことができます。
  3. これにより、PlayFab がそのサービスのユーザーの資格情報を認識しなくても、そのアカウントに安全にリンクすることができます。

注意

一部のサービスでは、ゲームのサービスに対して認証を行うために、アプリケーション ID などの追加情報を再生する必要があります。 タイトルの設定の一環として、対象のサービスのアドオン Marketplaceのページを確認してください。

ベスト プラクティス

匿名ログインを使用して、ゼロ摩擦で新しいプレーヤーを作成します。 チュートリアルフェーズの後に、回復可能な資格情報を適切に選択してアカウントにリンクさせるように、プレイヤーをゆっくりとお勧めします。

サードパーティ認証システムを使用している場合は、そのサービスから適切なトークンを取得し (API 呼び出しまたは SDK 関数経由)、適切な PlayFab API を呼び出して、プレーヤーのアカウントをそのサービスから再生します。 LinkFacebookAccountLinkGameCenterAccountLinkGoogleAccountLinkKongregatelinksteamaccountLinkTwitchLinkWindowsHello

ベスト プラクティス

  • ユーザのプライバシーを保護するには、ユーザの資格情報を保存または保存しないでください (これは、COPPA のコンプライアンスのために必要な多くのステップの1つでもあります。また、お客様の肩書きの要件である場合は、必ず弁護士にご連絡ください)。

  • PlayFab の資格情報を使用している場合、またはサードパーティの API を直接呼び出す場合は、できるだけ早くメモリからログイン情報を消去する必要があります。 一般的に、サードパーティの Sdk でこの処理が行われます。

  • 特定の情報またはセキュリティで保護された情報を、必要以上にメモリ内で維持しないようにしてください。また、ファイルやリモートの場所に保存することはできません。 PlayFab Api は、最低限必要な情報のみを利用するように設計されています。

既存の回復可能なアカウントに新しいデバイスを追加する

PlayFab では、複数のログインとデバイスが同じアカウントにアクセスすることができます。 プレーヤーが適切に設定されていれば、任意のデバイスでゲームをプレイしたり、デバイスをダウンしたり、新しいデバイス (種類、ブランド、プラットフォーム、OS など) を選択して、すべてのデータをそのまま使用して、同じゲームの再生を再開することができます。

要件

プレーヤーは、次の2つのデバイスを持っている必要があります。

  • Device1 -アカウントと回復可能な資格情報が適切に設定されています。 また、2番目のデバイスがアカウントにバインドされていない場合にも最適です。 このプロセスによって、2番目のデバイスの ID がログインメカニズムとしてのみ使用され、回復不可能になります。 ただし、PlayFab には、このケースに対して安全に検出して警告するオプションがあります。
  • このシナリオのすべてのアクティビティはDevice2に実行されます。そのためには、2番目のデバイスのユーザーのログインフローをにする必要があります。 回復可能なメカニズムを使用してログインするためのオプションをユーザーに提供する必要があります。デバイス ID で自動的にログインされることはありません

この手順に従わないと、プレーヤーのエクスペリエンスが難しくなり、意図していないアカウントが失われないように警告が表示されます。

さまざまな条件のフローは、次のようになります。すべての場合、回復可能なアカウントがリンクされているプレーヤーアカウントは1 つだけです。

Device1 State:デバイス IDは、プレイヤーアカウントにバインドされています。 Device2 State:デバイス IDがプレーヤーアカウントにバインドされていません

  • Device2で (回復可能なアカウントの資格情報を使用して) player アカウントにサインインした後、 GetPlayerCombinedInfoへの呼び出しを行います。
    • その情報で返される各デバイスの種類について、最新の署名されたデバイス ID がInfoResultPayload の情報で返されます。

Device2はまだこの player アカウントにリンクされていないため、関連するデバイス ID (IosDeviceInfoaccountinfo. ANDROIDDEVICEINFOなど) はDevice2 IDと一致しません。

Device1 State:デバイス IDは、プレイヤーアカウントにバインドされています。 Device2 State: 回復可能な資格情報を使用してログインしていますが、デバイス IDがプレーヤーアカウントにバインドされていません

Device2がこのアカウントにバインドされていないことを確認したので、これをバインドしてみてください。

  • 適切なLinkandroiddeviceidlinkiosdeviceid、またはその他のデバイス固有の API 呼び出しを呼び出します。
  • 処理が完了したら、通常のゲームプレイを再開します。
  • ただし、他の API 呼び出しの場合と同様に、エラーを捕捉するように準備しておいてください。 具体的には、デバイスが既にアカウントにリンクされているというエラーが返されます。
  • この状態で、[このデバイスをこのアカウントにバインドしますか? ] というメッセージが表示された場合は、次のようにします。
  • 続行した場合は、他のアカウントが失われる可能性がある情報を入力してください。
  • プレーヤーがこの警告を受け取った場合は、プロパティForcelinkTrueに設定して、リンク要求を再送信します。
  • この操作を行うと、古いアカウントからDEVICE2 IDのリンクが解除されます。他のログインメカニズムにリンクされていない場合は、そのアカウントを orphaning して、新しいアカウントにバインドします。

ベスト プラクティス

CloudScript または PlayStream イベントを使用して、ユーザーが間違いを犯した場合に、顧客サービス担当者が回復できる破棄されたアカウントの情報を記録します。

注意

クラウドベースのログファイルに PlayFabId を記述するだけで、簡単な方法でも、専用のプレーヤーのアカウントを保存できます。

Device1 State:デバイス IDは、プレイヤーアカウントにバインドされています。 Device2 State:デバイス IDは、プレイヤーアカウントにバインドされています。

この時点で、両方のデバイスが同じアカウントで再生されるようになり、両方のデバイスで、競合していないログインを安全に使用できるようになりました。

競合していないデバイス ID を既存の回復可能なアカウントにバインドする

このシナリオは、回復可能な資格情報を使用してアカウントを作成した場合を除き、上の状況とよく似ています。

既存のゲームのログイン画面を、その後の匿名ログインをバインドすることによって、競合のないログインに変換することができます。 ここで説明する手順は、 1 つのデバイスのみを対象とした、上の条件とほぼ同じです (上記のフローでは単にDevice2ます)。

デバイスの状態:デバイス IDがプレーヤーアカウントにバインドされていません

デバイスで回復可能なログインを実行した後、 GetPlayerCombinedInfoを呼び出します。 もう一度、デバイス ID がバインドされたデバイス ID と一致するかどうかを確認します。 InfoResultPayload infoで返された情報を使用します。

デバイスがアカウントにサインインしていないため、関連するデバイス ID (IosDeviceInfoAccountinfo. AndroidDeviceInfoなど) はデバイス id と一致しません。

[デバイスの状態]: 回復可能な資格情報でログインしていますが、デバイス ID はプレイヤーアカウントにバインドされていません。

デバイスはこのアカウントにバインドされていないため、バインドすることができます。 適切なLinkandroiddeviceidlinkiosdeviceid、またはその他のデバイス固有の API 呼び出しを呼び出します。

処理が完了したら、通常のゲームプレイを再開します。

でも、エラーをキャプチャする準備ができました。 具体的には、デバイスが既にアカウントにリンクされているというエラーが返されます。 この状態で、[このデバイスをこのアカウントにバインドしますか? ] というメッセージが表示された場合は、次のようにします。

続行した場合は、他のアカウントが失われる可能性がある情報を入力してください。 プレーヤーがこの警告を受け取った場合は、プロパティForcelinkTrueに設定して、リンク要求を再送信します。

この操作を行うと、古いアカウントからデバイス ID のリンクが解除され、他のログインメカニズムにリンクされていない場合はそのアカウントを orphaning、新しいアカウントにバインドします。

ベストプラクティス:

CloudScript、または PlayStream イベントを使用して、ユーザーがミスした場合に、顧客サービス担当者が回復できるような破棄されたアカウントの情報を記録します。 クラウドベースのログファイルに PlayFabId を記述するだけで、簡単な方法でも、専用のプレーヤーのアカウントを保存できます。

[デバイスの状態: デバイス ID は player アカウントにバインドされています。

この時点で、回復可能な資格情報の代わりに、デバイスとの競合のないログインを使用できます。

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

上記の手順では、ログインする前にユーザーにメッセージを表示する方法について説明します。 同期されていないログインには、最初にプレイヤーにたずねることなくログインする必要があります。 次の推奨事項に従って、理想的なミドルグラウンドを見つけることができます。

競合していないログイン Api: 競合していないログインには、 Createaccountという要求パラメーターがあります。

例:

  • Androidrequest。CreateAccount
  • Iosrequest。CreateAccount。 次のガイドラインに従って、このプロパティについてtrueまたはfalseを選択します。

起動時:

  • ログインシーンでは、ゲームはCreateaccount = falseを使って、直ちに競合のないログインを試すことができます。 この操作に成功すると、このプレーヤーはこのデバイスで既にゲームにログインしており、ゲームのシーンに直接スキップできます。 この通話のエラーコールバックをキャプチャして、最初のログインオプションを表示します。

  • 初めてログインするときのシーン: 使用していないログイン機能があるデバイスには、[今すぐ再生] ボタンと、Facebook、トゥイッチ、Google などの回復可能なログインオプションを使って既存のアカウントにログインできるボタンが含まれている必要があります。 [今すぐ再生] ボタンは、 createaccount = trueによる競合のないログインを有効にします。

  • ログアウト: 初回ログインのシーンに戻るためのログアウトボタンを提供しますが、競合していないログインは自動的にアクティブ化されません。 これにより、回復可能なオプションを使用してログインし、そのアカウントにデバイスをバインドして、デバイスにバインドされているアカウントを破棄するオプションをユーザーに許可することができます。

このような推奨事項により、ユーザーが同じアカウントに複数のデバイスをバインドするときに、アカウントの破棄を要求する、ほとんどの厄介なシナリオを回避することができます。