Freunde in Unity-Spielen

Mit Play Games Friends können Spieler spielübergreifende Freunde erstellen und pflegen Liste. Du kannst Zugriff auf diese Freundesliste anfordern, um deinen Spielern zu helfen, deine mit ihren Freunden spielen. Weitere Informationen finden Sie in der Seite mit Konzepten für Freunde .

Vorbereitung

  • Richten Sie Ihr Projekt und das Google Play Spiele-Plug-in für Unity ein. Weitere Informationen finden Sie unter im Startleitfaden.

  • In den Best Practices-Richtlinien finden Sie wie Sie diese APIs am besten implementieren.

Weitere Informationen finden Sie in der Best Practices-Richtlinien. Dort finden Sie Anleitungen zur um diese APIs am besten zu implementieren.

Freunde aktivieren

Mit den folgenden Funktionen kannst du Freunde aktivieren:

  • Freunde ansehen: Zugriff auf die Freundesliste eines Spielers anfordern, damit Sie seine Spiele hinzufügen können Freunde zu Ihrer In-Game-Freundesliste hinzufügen.

  • So rufen Sie ein Spielerprofil auf: Spieler können sich das Play Spiele-Profil eines anderen Spielers ansehen. Dies ist damit der Spieler weiß, wer seine Freunde sind, und sich mit anderen Play Spiele-Spieler in deinem Spiel. Dies muss mit einem UI-Element verknüpft sein, das Pop-up auslösen. Weitere Informationen finden Sie in der Richtlinien für Freunde .

Freunde anzeigen

Es gibt zwei Möglichkeiten, Freunde zu laden: entweder mit dem ISocial-Framework oder direkt mit PlayGamesPlatform.

Laden Sie Freunde mit dem ISocial-Framework.

Social.localUser.LoadFriends((success) =>  {
    Debug.Log("Friends loaded OK: " + ok));
    foreach(IUserProfile p in Social.localUser.friends) {
         Debug.Log(p.userName + " is a friend");
    }

Dieser Aufruf schlägt jedoch fehl, wenn der aktuelle Spieler um auf diese Informationen zuzugreifen. Verwenden Sie GetLastLoadFriendsStatus, um zu prüfen, ob LoadFriends aufgrund fehlender Daten fehlgeschlagen ist Einwilligung geben.

 PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
    // Check for consent
    if (status == LoadFriendsStatus.ResolutionRequired) {
        // Ask for resolution.
    }
});

Ein Spiel kann den aktuellen Spieler bitten, die Freundesliste per Anruf zu teilen AskForLoadFriendsResolution

PlayGamesPlatform.Instance.AskForLoadFriendsResolution((result) => {
    if (result == UIStatus.Valid) {
        // User agreed to share friends with the game. Reload friends.
    } else {
        // User doesn’t agree to share the friends list.
    }
});

Diese Funktion zeigt die entsprechende plattformspezifische UI zum Teilen von Freunden an. In dieser Benutzeroberfläche wird der Spieler gefragt, ob er seine Freunde mit dem Spiel teilen möchte.

Lade Freunde über die PlayGamesPlatform

Alternativ kannst du Freunde auch mit LoadFriends und LoadMoreFriends laden:

PlayGamesPlatform.Instance.LoadFriends(pageSize, forceReload, (status) => {
    // Check if the call is successful and if there are more friends to load.
});

PlayGamesPlatform.Instance.LoadMoreFriends(pageSize, (status) => {
    // Check if there are more friends to load.
});

Der Parameter pageSize steht für die Anzahl der Einträge, die für diese Seite angefordert werden sollen. Wenn bereits Daten im Cache vorhanden sind, kann der zurückgegebene Puffer weitere als diese Größe. Der Zwischenspeicher enthält garantiert mindestens diese Anzahl von Einträgen. wenn die Sammlung genügend Datensätze enthält. Wenn forceReload auf true gesetzt ist, gilt Folgendes: Durch diesen Aufruf werden alle lokal zwischengespeicherten Daten gelöscht und es wird versucht, Daten vom Server. Dies wird häufig für Aktionen wie Aktualisierung gestartet. Normalerweise sollte dieser Wert auf false gesetzt werden, um den Vorteile des Daten-Cachings.

Wenn der Callback LoadFriendsStatus.LoadMore zurückgibt, sind weitere Freunde laden können. LoadFriendsStatus.ResolutionRequired signalisiert, dass der Nutzer hat die Freundesliste nicht freigegeben und du kannst direkt anrufen PlayGamesPlatform.Instance.AskForLoadFriendsResolution.

Sichtbarkeit der Freundesliste bestimmen

Mit PlayGamesPlatform.Instance.GetFriendsListVisibility kannst du prüfen, ob der Nutzer hat die Freundesliste für das Spiel freigegeben. Mögliche Rückgabestatus:

  • FriendsListVisibilityStatus.RequestRequired gibt an, dass Sie fragen müssen Einwilligung geben.

  • FriendsListVisibilityStatus.Visible gibt an, dass die Freundesliste geladen wird. erfolgreich sein sollte.

  • FriendsListVisibilityStatus.Unknown“ sollte im Allgemeinen nicht passieren. Sie können forceReload auf „true“, um die Daten zu aktualisieren.

PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});

Spielerprofil aufrufen

Wenn du einen Spieler als Freund hinzufügen oder entfernen möchtest, verwende das Show- und Vergleichsprofil . Durch diese Funktion wird am unteren Rand ein Dialogfeld ausgelöst, in dem Play Spiele Profil des Nutzers; die Funktion mit der Player-ID der angeforderten Player. Wenn Spieler und Freund im Spiel Spitznamen haben, verwende diese im Aufruf an um mehr Kontext zur Benutzeroberfläche des Profils hinzuzufügen:

PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
    mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
    (result) => {
        // Profile comparison view has closed.
});