Schnellstart: Kontoverknüpfung
In dieser Schnellstartanleitung zum Verknüpfen von Konten wird veranschaulicht, wie Sie ein Konto an mehrere Geräte und Anmeldemechanismen binden.
Auf ein einzelnes PlayFab-Konto kann von vielen Geräten und Anmeldeinformationen zugegriffen werden. Wie wir in unserem Tutorial Anmeldegrundlagen und Bewährte Methoden erläutern, gibt es zwei Formen der Benutzerauthentifizierung:
- Anonym
- Wiederherstellbare
Hinzufügen einer wiederherstellbaren Anmeldung zu einem vorhandenen anonymen Konto
Es ist sehr üblich, dass Ihre erste Anmeldung anonym ist. Dies bringt Ihren Spieler reibungslos in das Spiel.
Aber sobald ein Spieler in Ihr Spiel investiert wird, sollten Sie sie auffordern, eine wiederherstellbare Anmeldemethode hinzuzufügen, die ihr Konto im Falle eines Geräteausfalls oder anderer Probleme wiederherstellbar macht.
In diesem Abschnitt wird das Hinzufügen eines wiederherstellbaren Anmeldemechanismus zu einem anonymen Konto behandelt.
Notiz
Eine anonyme Anmeldung ist weiterhin relevant und kann weiterhin die primäre reibungslose Anmeldung für den Spieler sein. Viele Spieler verwenden diese Optionen nur dann wieder, wenn sie versuchen, ihr Konto wiederherzustellen, plattformspezifische Features verwenden oder ein zweites anonymes Gerät verknüpfen.
Der Fokus dieses Tutorials befindet sich am unteren Rand der vorherigen Abbildung mit den Zellen AddUsernamePassword, LinkWithFacebook oder LinkWithGoogle. Diese geben einige der größeren Optionen an, die für wiederherstellbare Anmeldemechanismen verfügbar sind.
-
AddUsernamePassword wird verwendet, um eine/beide der folgenden Optionen zu aktivieren: LoginWithPlayFab und LoginWithEmailAddress. Diese Optionen speichern Benutzernamen-, E-Mail-/Kennwortanmeldeinformationen direkt bei PlayFab. Damit ein Spieler sein Konto wiederherstellen kann, kann Ihr Spiel, Ihre Website oder Ihr Kundendienst Folgendes auslösen:
- SendAccountRecoveryEmail für diese E-Mail-Adresse. Wenn ein Spieler eine gefälschte E-Mail-Adresse eingibt, können Sie weiterhin den PlayFab Game Manager verwenden, um die E-Mail-Adresse für den Spieler zu aktualisieren. Es ist jedoch wichtig, dass Ihre Kundendienstmitarbeiter so geschult sind, dass sie auf gängige Social Engineering-Tricks watch, damit sie nur die E-Mail-Adresse des tatsächlichen Besitzers des Kontos aktualisieren.
Die wiederherstellbaren Anmeldemechanismen von Drittanbietern umfassen jeweils die Aufforderung des Benutzers, sich über ein entsprechendes SDK oder einen API-Aufruf eines Drittanbieters anzumelden. Das Verknüpfen dieses Kontos mit PlayFab folgt im Allgemeinen demselben Muster:
- Fordern Sie den Benutzer zunächst auf, sich bei diesem Dienst anzumelden (weitere Informationen finden Sie unter Anmeldegrundlagen und Bewährte Methoden).
- Sobald Sie sich angemeldet haben, stellen diese Dienste eine Art token bereit, das an PlayFab übergeben werden kann.
- Dadurch kann PlayFab sicher mit diesem Konto verknüpfen, ohne die Anmeldeinformationen des Benutzers in diesem Dienst zu kennen.
Notiz
Einige Dienste erfordern, dass PlayFab über einige zusätzliche Informationen verfügt, z. B. eine Anwendungs-ID, um den Authentifizierungsaufruf an diesen Dienst für Ihr Spiel zu senden. Überprüfen Sie beim Einrichten Ihres Titels unbedingt die Add-On-Marketplace-Seite für den betreffenden Dienst.
Bewährte Methode
Verwenden Sie eine anonyme Anmeldung, um neue Spieler ohne Reibung zu erstellen. Ermutigen Sie die Spieler nach einer Tutorialphase vorsichtig, Ihre bevorzugte Auswahl an wiederherstellbaren Anmeldeinformationen mit ihrem Konto zu verknüpfen.
Wenn Sie ein Authentifizierungssystem eines Drittanbieters verwenden, rufen Sie das entsprechende Token von diesem Dienst ab (über API-Aufrufe oder SDK-Funktionen). Rufen Sie dann die entsprechende PlayFab-API auf, um das Konto des Spielers von diesem Dienst mit seinem PlayFab-Konto zu verknüpfen: LinkFacebookAccount, LinkGameCenterAccount, LinkGoogleAccount, LinkKongregate, LinkSteamAccount, LinkTwitch, LinkWindowsHello
.
Bewährte Methode
Speichern oder speichern Sie aus Gründen des Datenschutzes keine Benutzeranmeldeinformationen (dies ist auch einer von vielen Schritten, die für die COPPA-Compliance erforderlich sind– und wenn dies eine Anforderung für Ihren Titel ist, wenden Sie sich bitte an Ihren Rechtsberater, um Ihre Compliance zu bestätigen).
Wenn Sie die PlayFab-Anmeldeinformationen verwenden oder direkt eine Drittanbieter-API aufrufen, sollten Sie deren Anmeldeinformationen so bald wie möglich aus dem Arbeitsspeicher löschen. Im Allgemeinen übernehmen die Drittanbieter-SDKs dies für Sie.
Bewahren Sie keine identifizierbaren oder sicheren Informationen länger im Arbeitsspeicher auf, als Sie sie benötigen, und speichern Sie sie nicht an einer Datei oder einem Remotespeicherort. Die PlayFab-APIs sind so konzipiert, dass nur die mindestens erforderlichen Informationen verwendet werden.
Hinzufügen neuer Geräte zu einem vorhandenen wiederherstellbaren Konto
PlayFab ermöglicht mehreren Anmeldungen und Geräten den Zugriff auf dasselbe Konto. Wenn er richtig eingerichtet ist, kann ein Spieler das Spiel auf einem beliebigen Gerät spielen, dieses Gerät herunterstellen, ein neues Gerät (sogar einen anderen Typ, eine andere Marke, Plattform oder ein anderes Betriebssystem) aufnehmen und dasselbe Spiel fortsetzen, wobei alle Daten intakt sind.
Anforderung
Der Spieler muss über zwei Geräte verfügen:
- Device1 : Richten Sie mit einem Konto und wiederherstellbaren Anmeldeinformationen ein, die bereits ordnungsgemäß eingerichtet sind. Es ist auch ideal, wenn das zweite Gerät nicht an ein Konto gebunden ist. Dieser Prozess verwaist jedes Konto, das nur die ID des zweiten Geräts als Anmeldemechanismus aufweist, sodass es unwiederbringlich ist. PlayFab verfügt jedoch über Optionen, um diesen Fall sicher zu erkennen und davor zu warnen.
- Alle Aktivitäten in diesem Szenario finden auf Gerät2 statt: Um zu beginnen, muss der Benutzeranmeldungsflow für das zweite Gerät umgekehrt werden. Sie müssen dem Benutzer eine Option zur Anmeldung über einen wiederherstellbaren Mechanismus bereitstellen und sich nicht automatisch mit der Geräte-ID anmelden.
Wenn Sie diesen Schritt nicht ausführen, führt dies zu einer unangenehmen Erfahrung, bei der sie vor dem Verlust eines Kontos gewarnt werden, das sie nie beabsichtigt haben.
Der Ablauf für die verschiedenen Bedingungen lautet also wie folgt – und beachten Sie, dass es in allen Fällen nur ein Spielerkonto gibt, für das ein wiederherstellbares Konto verknüpft ist.
Geräte1-Status: Die Geräte-ID ist an das Spielerkonto gebunden. Device2-Status: Die Geräte-ID ist nicht an das Spielerkonto gebunden.
- Nachdem Sie sich beim Player-Konto auf Device2 angemeldet haben (mit den Anmeldeinformationen für das wiederherstellbare Konto), rufen Sie GetPlayerCombinedInfo auf.
- Für jeden Gerätetyp, der in diesen Informationen zurückgegeben wird, wird die zuletzt angemeldete Geräte-ID im Ergebnis zurückgegeben . InfoResultPayload.AccountInfo.
Da Device2 noch nicht mit diesem Spielerkonto verknüpft wurde, entspricht die entsprechende Geräte-ID (AccountInfo.IosDeviceInfo, AccountInfo.AndroidDeviceInfo usw.) nicht der Device2-ID.
Geräte1-Status: Die Geräte-ID ist an das Spielerkonto gebunden. Device2-Status: Mit wiederherstellbaren Anmeldeinformationen angemeldet, aber die Geräte-ID ist nicht an das Spielerkonto gebunden.
Nachdem wir nun überprüft haben, dass Device2 nicht an dieses Konto gebunden ist, können wir versuchen, es zu binden.
- Rufen Sie die entsprechende LinkAndroidDeviceID, LinkIOSDeviceID oder einen anderen gerätespezifischen API-Aufruf auf.
- Wenn Sie erfolgreich sind, sind Sie fertig, setzen Sie das normale Gameplay fort.
- Wie bei jedem API-Aufruf sollten Sie jedoch darauf vorbereitet sein, Fehler zu erfassen. Suchen Sie insbesondere nach einem Fehler, der zurückgibt, dass das Gerät bereits mit einem Konto verknüpft ist.
- Unter dieser Bedingung fordern Sie den Spieler mit der Meldung Möchten Sie dieses Gerät an dieses Konto binden ? auf.
- Geben Sie unbedingt Informationen an, dass das andere Konto verloren gehen kann, wenn sie fortfahren.
- Wenn der Spieler diese Warnung akzeptiert, senden Sie die Linkanforderung erneut, wobei die Eigenschaft ForceLink auf True festgelegt ist.
- Dadurch wird die Verknüpfung der Device2-ID mit dem alten Konto aufheben, möglicherweise wird dieses Konto verwaist, wenn keine anderen Anmeldemechanismen damit verknüpft sind, und es wird an das neue Konto gebunden.
Bewährte Methode
Verwenden Sie CloudScript oder ein PlayStream-Ereignis, um Informationen zu verlassenen Konten an einem Ort aufzuzeichnen, an dem Ihre Kundendienstmitarbeiter diese möglicherweise wiederherstellen können, wenn der Spieler einen Fehler gemacht hat.
Notiz
Selbst etwas so einfaches wie das Schreiben der PlayFabId in eine cloudbasierte Protokolldatei kann ein Konto für einen dedizierten Player speichern.
Geräte1-Status: Die Geräte-ID ist an das Spielerkonto gebunden. Device2-Status: Die Geräte-ID ist an das Spielerkonto gebunden.
An diesem Punkt werden beide Geräte nun mit demselben Konto wiedergegeben, und beide Geräte können problemlose Anmeldungen verwenden.
Binden einer reibungslosen Geräte-ID an ein vorhandenes wiederherstellbares Konto
Dieses Szenario ähnelt der obigen Situation sehr, mit der Ausnahme, dass das Konto mit wiederherstellbaren Anmeldeinformationen erstellt wurde.
Sie können einen vorhandenen Anmeldebildschirm eines Spiels in eine reibungslose Anmeldung konvertieren, indem Sie eine anonyme Anmeldung nach der Tatsache binden. Die Schritte hier sind fast identisch mit der obigen Bedingung, nur bei einem einzelnen Gerät (das einfach Device2 im obigen Flow ist).
Gerätestatus: Die Geräte-ID ist nicht an das Spielerkonto gebunden.
Nachdem Sie eine wiederherstellbare Anmeldung mit dem Gerät durchgeführt haben, rufen Sie GetPlayerCombinedInfo auf. Ermitteln Sie erneut über die im Ergebnis zurückgegebenen Informationen, ob die Geräte-ID mit der gebundenen Geräte-ID übereinstimmt . InfoResultPayload.AccountInfo.
Da sich das Gerät noch nie beim Konto angemeldet hat, entspricht die entsprechende Geräte-ID (AccountInfo.IosDeviceInfo, AccountInfo.AndroidDeviceInfo usw.) nicht der Geräte-ID.
Gerätestatus: Mit wiederherstellbaren Anmeldeinformationen angemeldet, aber die Geräte-ID ist nicht an das Spielerkonto gebunden.
Da das Gerät nicht an dieses Konto gebunden ist, können wir versuchen, es zu binden. Rufen Sie die entsprechende LinkAndroidDeviceID, LinkIOSDeviceID oder einen anderen gerätespezifischen API-Aufruf auf.
Wenn Sie erfolgreich sind, sind Sie fertig, setzen Sie das normale Gameplay fort.
Aber auch hier : Seien Sie darauf vorbereitet, Fehler zu erfassen. Suchen Sie insbesondere nach einem Fehler, der zurückgibt, dass das Gerät bereits mit einem Konto verknüpft ist. Unter dieser Bedingung fordern Sie den Spieler mit der Meldung Möchten Sie dieses Gerät an dieses Konto binden ? auf.
Geben Sie unbedingt Informationen an, dass das andere Konto verloren gehen kann, wenn sie fortfahren. Wenn der Spieler diese Warnung akzeptiert, senden Sie die Linkanforderung erneut, wobei die Eigenschaft ForceLink auf True festgelegt ist.
Dadurch wird die Verknüpfung der Geräte-ID mit dem alten Konto aufheben, möglicherweise wird dieses Konto verwaist, wenn keine anderen Anmeldemechanismen mit dem Konto verknüpft sind, und es wird an das neue Konto gebunden.
Bewährte Methode:
Verwenden Sie CloudScript oder ein PlayStream-Ereignis, um Informationen zu verlassenen Konten an einem Ort aufzuzeichnen, an dem Ihre Kundendienstmitarbeiter diese möglicherweise wiederherstellen können, wenn der Spieler einen Fehler gemacht hat. Selbst etwas so einfaches wie das Schreiben der PlayFabId in eine cloudbasierte Protokolldatei kann ein Konto für einen dedizierten Player speichern.
Gerätestatus: Die Geräte-ID ist an das Spielerkonto gebunden.
An diesem Punkt kann eine reibungslose Anmeldung mit dem Gerät anstelle der wiederherstellbaren Anmeldeinformationen verwendet werden.
Weitere bewährte Methoden
Die obigen Schritte umfassen die Aufforderung des Benutzers vor der Anmeldung. Bei der reibungslosen Anmeldung müssen Sie sich anmelden, ohne zuerst den Spieler zu fragen. Mit den folgenden Vorschlägen finden Sie einen idealen Mittelweg:
ApIs für reibungslose Anmeldungen: Ihre reibungslosen Anmeldungen verfügen alle über einen Anforderungsparameter namens CreateAccount.
Beispiele:
- AndroidRequest. CreateAccount
- IosRequest. CreateAccount. Wählen Sie true oder false für diese Eigenschaft mit den folgenden Richtlinien aus:
Beim Start:
In Ihrer Anmeldeszene kann Ihr Spiel sofort eine Frictionless-Anmeldung mit CreateAccount=false versuchen. Wenn dies erfolgreich ist, hat sich dieser Spieler bereits mit diesem Gerät beim Spiel angemeldet und kann problemlos direkt in die Spielszene springen. Erfassen Sie den Fehlerrückruf für diesen Aufruf, und lassen Sie ihn die Optionen für die erste Anmeldung anzeigen.
Szene zum ersten Anmelden: Für jedes Gerät mit einer reibungslosen Anmeldefunktion sollte diese Szene eine Schaltfläche "Jetzt wiedergeben" sowie Schaltflächen enthalten, mit denen sich der Spieler über Facebook, Twitch, Google oder andere wiederherstellbare Anmeldeoptionen bei einem vorhandenen Konto anmelden kann. Die Schaltfläche Jetzt wiedergeben sollte die reibungslose Anmeldung mit CreateAccount=true aktivieren.
Abmelden: Stellen Sie eine Abmeldeschaltfläche bereit, die zu Ihrer Ersten Anmeldungsszene zurückkehrt, aber nicht automatisch die reibungslose Anmeldung aktiviert. Dadurch kann ein Benutzer sein gerätegebundenes Konto verlassen, indem er sich mit einer Option "Wiederherstellbar " anmeldet und das Gerät dann an dieses Konto bindet.
Mit diesen Vorschlägen können Sie die meisten unangenehmen Szenarien vermeiden, in denen Benutzer aufgefordert werden, ein Konto zu verlassen, wenn sie mehrere Geräte an dasselbe Konto binden.