Mit Play Spiele für Freunde können Spieler eine spielübergreifende Freundesliste erstellen und verwalten. Sie können Zugriff auf diese Freundesliste anfordern, damit Ihre Spieler Ihr Spiel mit ihren Freunden spielen können. Weitere Informationen zum Freundesystem findest du auf der Konzeptseite „Freunde“.
Vorbereitung
Richten Sie Ihr Projekt und das Google Play-Spiele-Plug‑in für Unity ein. Weitere Informationen finden Sie im Startleitfaden.
Eine Anleitung zur optimalen Implementierung dieser APIs finden Sie in den Best Practices.
Eine Anleitung zur optimalen Implementierung dieser APIs finden Sie in den Best Practices.
Freunde aktivieren
Verwenden Sie die folgenden Funktionen, um Freunde zu aktivieren:
Freunde ansehen: Sie können Zugriff auf die Freundesliste eines Spielers anfordern, damit Sie seine Play Games-Freunde Ihrer In-Game-Freundesliste hinzufügen können.
Spielerprofil ansehen: Ermöglicht es einem Spieler, das Play Spiele-Profil eines anderen Spielers anzusehen. Das ist wichtig, damit ein Spieler weiß, wer seine Freunde sind, und sich in Ihrem Spiel mit anderen Play Spiele-Spielern verbinden kann. Das muss mit einem UI-Element verknüpft werden, um das Pop-up auszulösen. Weitere Informationen finden Sie in den Richtlinien für Freunde.
Freunde ansehen
Es gibt zwei Möglichkeiten, Freunde zu laden: entweder mit dem ISocial
-Framework oder direkt mit PlayGamesPlatform.
Freunde mit dem ISocial-Framework laden
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 dem Spiel noch keine Berechtigung zum Zugriff auf diese Informationen erteilt hat. Mit GetLastLoadFriendsStatus
können Sie prüfen, ob LoadFriends
aufgrund einer fehlenden Einwilligung fehlgeschlagen ist.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Ein Spiel kann den aktuellen Spieler auffordern, die Freundesliste freizugeben, indem es AskForLoadFriendsResolution
aufruft.
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 Benutzeroberfläche für die Freigabe von Freunden an. In dieser Benutzeroberfläche wird der Spieler gefragt, ob er seine Freunde für das Spiel freigeben möchte.
Freunde mit PlayGamesPlatform laden
Eine weitere Möglichkeit, Freunde zu laden, ist die Verwendung von LoadFriends
und LoadMoreFriends
:
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
gibt die Anzahl der Einträge an, die für diese Seite angefordert werden sollen.
Wenn bereits Daten im Cache vorhanden sind, kann der zurückgegebene Puffer mehr als diese Größe enthalten. Der Puffer enthält garantiert mindestens so viele Einträge, wenn die Sammlung genügend Datensätze enthält. Wenn forceReload
auf true
gesetzt ist, werden bei diesem Aufruf alle lokal zwischengespeicherten Daten gelöscht und versucht, die neuesten Daten vom Server abzurufen. Dies wird häufig für Aktionen wie eine vom Nutzer initiierte Aktualisierung verwendet. Normalerweise sollte dieser Wert auf false
festgelegt werden, um die Vorteile des Daten-Caching zu nutzen.
Wenn der Callback LoadFriendsStatus.LoadMore
zurückgibt, müssen weitere Freunde geladen werden. LoadFriendsStatus.ResolutionRequired
gibt an, dass der Nutzer die Freundesliste nicht freigegeben hat und Sie PlayGamesPlatform.Instance.AskForLoadFriendsResolution
direkt aufrufen können.
Sichtbarkeit der Freundesliste festlegen
Verwende PlayGamesPlatform.Instance.GetFriendsListVisibility
, um zu prüfen, ob der Nutzer die Freundesliste für das Spiel freigegeben hat. Mögliche Rückgabestatus sind:
FriendsListVisibilityStatus.RequestRequired
gibt an, dass Sie die Einwilligung einholen müssen.FriendsListVisibilityStatus.Visible
gibt an, dass das Laden der Freundesliste erfolgreich sein sollte.FriendsListVisibilityStatus.Unknown
sollte normalerweise nicht passieren. Sie könnenforceReload
auf „true“ setzen, um die Daten zu aktualisieren.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Spielerprofil ansehen
Wenn Sie einen Spieler als Freund hinzufügen oder entfernen möchten, verwenden Sie die Funktion „Profil anzeigen und vergleichen“. Diese Funktion löst ein Bottom-Sheet-Dialogfeld aus, in dem das Play Spiele-Profil des Nutzers angezeigt wird. Rufen Sie die Funktion mit der Spieler-ID des angeforderten Spielers auf. Wenn der Spieler und der Freund In-Game-Spitznamen haben, verwenden Sie diese im Aufruf, um der Profil-UI mehr Kontext hinzuzufügen:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});