Freigeben über


Einrichten der PlayFab-Authentifizierung mithilfe der Google Play Games-Anmeldung in Unity

Voraussetzungen

Erste Schritte

Zunächst richten wir einige grundlegende Dinge in Google Play ein. Es gibt ein paar gute Anleitungen, wie einige dieser Aufgaben zu erledigen sind, daher werden wir das Rad nicht neu erfinden.

  1. Erstellen einer Anwendung : Wenn Sie keine Anwendung erstellt haben, müssen Sie dies in der Google Play Developer Console tun.

  2. Erstellen Sie Ihr Spiel AAB, und laden Sie es für interne Tests hoch. In diesem Leitfaden erfahren Sie, wie Sie Ihre App für den internen Testpfad freigeben. Berücksichtigen Sie während des Signierungsprozesses, dass Sie für Ihr App-Bündel zu diesem Zweck Ihren eigenen Keystore verwenden müssen. Informationen zum Erstellen eines Keystores finden Sie in diesem Dokument.

  3. Richten Sie Google Play Games-Dienste gemäß den Anweisungen auf dieser Seite ein: Einrichten von Google Play Games Services.

  4. Laden Sie das Google Play Games SDK herunter, und installieren Sie es.

  5. Installieren Sie das PlayFab Unity SDK (wenn Sie nicht wissen, wie Diese Aufgabe ausgeführt wird, befolgen Sie die Unity3D-Schnellstartanleitung).

Konfigurieren von Google Play-Spielen

Sie können Google Play Games über das Toolset konfigurieren, das mit dem Google Play Games SDK installiert ist. Sie können diese Tools wie folgt aufrufen:

  • Wechseln zur Registerkarte Fenster .

  • Auswählen von Google Play-Spielen.

  • Wechseln sie zu Setup.

  • Greifen Sie dann auf Das Android-Setup zu.

    Konfigurieren von Google Play-Spielen

  • Das Android-Konfigurationsfenster wird angezeigt. Wir müssen die Ressourcendefinition und die Web-App-Client-ID auf diesem Bildschirm eingeben.

    Android-Ressourcen leer einfügen

Abrufen der Ressourcendefinition

  • Führen Sie die folgenden Schritte aus, um ihre Android-Ressourcendefinition abzurufen.

Abrufen der Web-App-Client-ID

Damit die Google Sign-In mit PlayFab arbeiten können, müssen Sie eine Webclient-ID verwenden, die Sie durch Erstellen von OAuth-Client-ID-Anmeldeinformationen für den Typ "Webanwendung" abrufen können.

Bevor Sie die OAuth-Client-ID erstellen, müssen Sie Ihren PlayFab-API-Endpunkt kennen, den Sie in den folgenden Schritten finden:

  • Melden Sie sich beim Game Manager an.

  • Wählen Sie Ihren Titel aus.

  • Wechseln Sie zu Ihren Titeleinstellungen, indem Sie auf das Zahnradsymbol neben dem Titelnamen klicken und Titeleinstellungen auswählen.

    PF-Titeleinstellungen

  • Wählen Sie die Registerkarte API-Features aus.

  • Kopieren Sie in das Feld API-Endpunkt .

    Google Play Developer Console – API-Endpunkt eingeben

Nachdem Sie Nun Ihren Titel API-Endpunkt kennen, führen Sie die hier beschriebenen Schritte zum Erstellen der OAuth-Client-ID-Anmeldeinformationen aus.

  • Beim Erstellen der Client-ID müssen Sie den API-Endpunkt als autorisierten JavaScript-Ursprung für Ihre Client-ID hinzufügen.

    Autorisierte JavaScript-Ursprünge

  • Stellen Sie außerdem sicher, dass Sie als autorisierten Umleitungs-URI hinzufügenhttps://oauth.playfab.com/oauth2/google. Wenn Sie diesen Schritt nicht ausführen, erhalten Sie einen Konflikt redirect_uri Fehler.

    Autorisierte Umleitungs-URIs

Nach dem Erstellen der Client-ID erhalten Sie einen Bildschirm ähnlich dem folgenden, in dem Sie die generierte Client-ID-Zeichenfolge und einen geheimen Clientschlüssel erhalten.

OAuth-Client-ID erstellt

Nun können Sie zum Fenster Android-Konfiguration in Unity zurückkehren und die Client-ID in das Textfeld Client-ID einfügen:

Client-ID einfügen

Nachdem beide Werte aufgefüllt wurden, können Sie Setup auswählen:

Setup abgeschlossen Android-Konfiguration

Einrichtung der Google-Anmeldung für PlayFab

PlayFab verfügt über einen eigenen Prozess zum Einrichten einer Google-Anmeldung. Sie können dies in Ihrem PlayFab-Entwicklerkonto einrichten. Wenn Sie noch keins besitzen, können Sie sich für ein kostenloses Entwicklerkonto registrieren.

So richten Sie Google in PlayFab ein:

  • Navigieren Sie in Ihrem Dashboard zum Abschnitt Add-Ons.
  • Wechseln Sie zum Google-Add-On.
  • Wählen Sie dort die Schaltfläche Google installieren aus.

Es gibt einige Dinge, die Sie in dieses Formular eingeben müssen:

  • Google App-Paket-ID: Dieses Feld ist der Name Ihres Android-Pakets. In unserem Beispiel wird beispielsweise verwendet com.playfab.gpgexample.
  • Der Google App-Lizenzschlüssel : Dieses Feld ist zwar erforderlich, steht aber nicht im Zusammenhang mit der Google-Anmeldung. Dieses Feld dient zum Einrichten einer Belegüberprüfung mithilfe unserer ApIs für die Belegüberprüfung.

Notiz

Sie können diesen Lizenzschlüssel über die Google Developer Console abrufen und im Abschnitt Monetarisierung zu Ihrer App navigieren. Klicken Sie auf den Abschnitt Monetarisierung einrichten. Scrollen Sie hier nach unten, bis ein Textfeld Lizenzierung angezeigt wird. Kopieren Sie den base64-codierten öffentlichen RSA-Schlüssel, und fügen Sie ihn in dieses Feld ein.

  • Die Google OAuth-Client-ID : Die Webclient-ID, die Sie beim Einrichten des Google Play Games SDK in Unity verwendet haben.
  • Der geheime Google OAuth-Clientschlüssel – Der geheime Schlüssel, den Sie beim Erstellen der OAuth-Client-ID abgerufen haben.
  • Dienstkontoschlüssel : Dieses Feld erwartet eine JSON-Zeichenfolge des Dienstkontoschlüssels. Sie müssen einen Dienstkontoschlüssel erstellen, indem Sie diese Schritte ausführen. Erstellen Sie dann die Anmeldeinformationen für dieses Dienstkonto, indem Sie die hier beschriebenen Schritte ausführen. Nachdem Sie die JSON-Datei mit den Anmeldeinformationen erhalten haben, fügen Sie den gesamten JSON-Inhalt in dieses Feld ein.

Die Add-On-Konfiguration sollte vor dem Speichern wie folgt aussehen:

Google-Add-On-Setup in PlayFab

Tipp

Achten Sie darauf, einstellungen speichern!

Hinzufügen einer Google-Anmeldung zu Ihrem Unity-Spiel

Der Code für die Google-Anmeldung ist relativ minimal. Es gibt den Initialisierungscode, den Sie in Die Startseite einfügen (oder an einem beliebigen Ort, an dem Sie Ihre App initialisieren oder starten).

Dieser Code kann sich je nach Architektur und Framework Ihres Spiels oder Ihrer App an unterschiedlichen Stellen befinden. In jedem Fall initialisiert der folgende Code Google Play Games.

Notiz

Stellen Sie sicher , dass Sie die using-Anweisungen nicht vergessen, damit Sie das Google Play Games SDK verwenden können.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine;

public class PFGoogleSignInUnity : MonoBehaviour
{
    void Start()
    {
        PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
    }

    internal void ProcessAuthentication(SignInStatus status)
    {
        if (status == SignInStatus.Success)
        {
            PlayGamesPlatform.Instance.RequestServerSideAccess(false, ProcessServerAuthCode);
        }
    }

    private void ProcessServerAuthCode(string serverAuthCode)
    {
        Debug.Log("Server Auth Code: " + serverAuthCode);

        var request = new LoginWithGooglePlayGamesServicesRequest
        {
            ServerAuthCode = serverAuthCode,
            CreateAccount = true,
            TitleId = PlayFabSettings.TitleId
        };

        PlayFabClientAPI.LoginWithGooglePlayGamesServices(request, OnLoginWithGooglePlayGamesServicesSuccess, OnLoginWithGooglePlayGamesServicesFailure);
    }

    private void OnLoginWithGooglePlayGamesServicesSuccess(LoginResult result)
    {
        Debug.Log("PF Login Success LoginWithGooglePlayGamesServices");
    }

    private void OnLoginWithGooglePlayGamesServicesFailure(PlayFabError error)
    {
        Debug.Log("PF Login Failure LoginWithGooglePlayGamesServices: " + error.GenerateErrorReport());
    }
}

Lassen Sie uns genau aufschlüsseln, was passiert:

  • Zuerst melden wir uns mit PlayGamesPlatform.Instance.Authenticate an: Diese Funktion empfängt eine Rückruffunktion als Parameter, der das Ergebnis verarbeitet, und informiert uns, ob sich der Benutzer basierend auf dem empfangenen SignInStatus erfolgreich anmelden konnte.
  • Wenn Sie Ihrer App Ihr Testkonto nicht hinzufügen, wird das Rückrufergebnis signInStatus beim Testen immer abgebrochen . Wenn dieses Problem auftritt, führen Sie die Schritte in diesem Leitfaden aus, um Ihrer Google-Anwendung Tester hinzuzufügen.

Notiz

Der Aufruf von PlayGamesPlatform.Instance.Authenticate löst das Anmeldedialogfeld für Google Play Games aus.

  • Als Nächstes führen wir bei erfolgreicher Anmeldung einen Aufruf von PlayGamesPlatform.Instance.RequestServerSideAccessdurch, der einen weiteren Rückruf empfängt und die ServerAuthCode-Zeichenfolge zurückgibt.

  • Dann führen wir den PlayFabClientAPI.LoginWithGooglePlayGamesServices Aufruf aus und übergeben den Parameter, den AuthCode wir gerade von Google ServerAuthCode erhalten haben.

  • Abhängig vom Ergebnis des Aufrufs LoginWithGooglePlayGamesServices , entweder OnLoginWithGooglePlayGamesServicesSuccess oder OnLoginWithGooglePlayGamesServicesFailure wird aufgerufen, sind diese Rückrufe diejenigen, die ihr Anmeldevorgangsergebnis für PlayFab verarbeiten. An diesem Punkt sollte eine erfolgreiche Anmeldung in Ihrem Dashboard!

Hoffentlich hat Ihnen dieser Leitfaden geholfen. Aber wenn Sie Fragen haben, können Sie diese in unseren Community-Foren stellen.