Mit der Funktion „Freunde“ von Play Spiele können Spieler eine spielübergreifende Freundesliste erstellen und pflegen. Sie können den Zugriff auf diese Freundesliste anfordern, um Ihren Spielern beim Spielen Ihres Spiels mit ihren Freunden zu helfen. Weitere Informationen zum Freundessystem finden Sie auf der Seite mit dem Freundeskonzept.
Vorbereitung
Richten Sie Ihr Projekt und das Google Play Spiele-Plug-in für Unity ein. Weitere Informationen finden Sie im Startleitfaden.
In den Best-Practices-Richtlinien erfahren Sie, wie Sie diese APIs am besten implementieren.
In den Best-Practices-Richtlinien erfahren Sie, wie Sie diese APIs am besten implementieren.
Freunde aktivieren
Nutze die folgenden Funktionen, um Freunde zu aktivieren:
Freunde ansehen: Sie können Zugriff auf die Freundesliste eines Spielers anfordern, damit Sie dessen Spieler zu Ihrer Freundesliste im Spiel hinzufügen können.
Spielerprofil ansehen: Sie können einem Spieler erlauben, das Play Spiele-Profil eines anderen Spielers aufzurufen. Das ist wichtig, damit Spieler wissen, wer ihre Freunde sind, und sich mit anderen Play Spiele-Spielern in Ihrem Spiel verbinden können. Diese muss mit einem UI-Element verknüpft sein, damit das Pop-up ausgelöst wird. Weitere Informationen findest du in den Richtlinien für Freunde.
Freunde anzeigen
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. Verwenden Sie GetLastLoadFriendsStatus
, um zu prüfen, ob LoadFriends
aufgrund fehlender Einwilligung fehlgeschlagen ist.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Ein Spiel kann den aktuellen Spieler bitten, die Freundesliste durch Aufrufen von AskForLoadFriendsResolution
zu teilen.
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 gemeinsame Nutzung von Freunden an. Über diese Benutzeroberfläche wird der Spieler gefragt, ob er seine Freunde für das Spiel freigeben möchte.
Freunde mit PlayGamesPlatform laden
Alternativ können Sie LoadFriends
und LoadMoreFriends
verwenden, um Freunde zu 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
gibt die Anzahl der Einträge an, die für diese Seite angefragt werden sollen.
Wenn bereits im Cache gespeicherte Daten vorhanden sind, kann der zurückgegebene Zwischenspeicher mehr als diese Größe enthalten. 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, werden durch diesen 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 diese auf false
gesetzt werden, um die Vorteile des Daten-Caching nutzen zu können.
Wenn der Callback LoadFriendsStatus.LoadMore
zurückgibt, können weitere Freunde geladen werden. LoadFriendsStatus.ResolutionRequired
signalisiert, dass der Nutzer die Freundesliste nicht freigegeben hat und du PlayGamesPlatform.Instance.AskForLoadFriendsResolution
direkt anrufen kannst.
Sichtbarkeit der Freundesliste festlegen
Mit PlayGamesPlatform.Instance.GetFriendsListVisibility
kannst du prüfen, ob der Nutzer die Freundesliste für das Spiel freigegeben hat. Mögliche Rückgabestatus sind:
FriendsListVisibilityStatus.RequestRequired
gibt an, dass Sie um Ihre Einwilligung bitten 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
Um einen Spieler als Freund hinzuzufügen oder zu entfernen, verwenden Sie die Funktion zum Anzeigen und Vergleichen von Profilen. Diese Funktion löst ein Dialogfeld am unteren Rand des Tabellenblatts 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 sein Freund Spitznamen im Spiel haben, verwenden Sie sie im Aufruf, um der Profil-UI mehr Kontext hinzuzufügen:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});