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: Zugriff auf die Freundesliste eines Spielers anfordern, damit Sie seine Play Spiele-Freunde Ihrer In-Game-Freundesliste hinzufügen können.
Spielerprofil ansehen: Ein Spieler kann das Play Spiele-Profil eines anderen Spielers ansehen. Das ist wichtig, damit ein Spieler weiß, wer seine Freunde sind, und sich in Ihrem Spiel mit anderen Play Spiele-Nutzern 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 für den 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 AskForLoadFriendsResolution
aufgerufen wird.
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.
}
});
Mit dieser Funktion wird die entsprechende plattformspezifische Benutzeroberfläche für die Freigabe von Freunden angezeigt. 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
festgelegt ist, werden bei diesem Aufruf alle lokal im Cache gespeicherten Daten gelöscht und es wird 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 aufrufen
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.
});