Znajomości w Gierach Play umożliwiają graczom tworzenie i utrzymywanie listy znajomych w różnych grach. Możesz poprosić o dostęp do tej listy znajomych, aby ułatwić graczom wspólne granie ze znajomymi. Więcej informacji o systemie znajomych znajdziesz na stronie z konceptem znajomych.
Zanim rozpoczniesz
Skonfiguruj projekt i wtyczkę Google Play Games do Unity. Więcej informacji znajdziesz w przewodniku Pierwsze kroki.
Zapoznaj się ze sprawdzonymi metodami, aby dowiedzieć się, jak najlepiej zaimplementować te interfejsy API.
Instrukcje dotyczące najlepszego sposobu implementacji tych interfejsów API znajdziesz we wytycznych dotyczących sprawdzonych metod.
Włącz znajomych
Aby włączyć znajomych, użyj tych funkcji:
Wyświetlanie znajomych: wyślij prośbę o dostęp do listy znajomych innego gracza, aby móc dodać jego znajomych do listy znajomych w grze.
Wyświetlanie profilu gracza: pozwala graczowi wyświetlić profil innego gracza w Grach Play. Jest to niezbędne, aby gracz wiedział, kim są jego znajomi, i mógł łączyć się z innymi graczami w Grach Play. Musisz go powiązać z elementem interfejsu użytkownika, aby wywołać wyskakujące okienko. Więcej informacji znajdziesz we wskazówkach dotyczących znajomych.
Wyświetlanie znajomych
Znajomych można wczytywać na 2 sposoby: za pomocą frameworka ISocial
lub bezpośrednio za pomocą PlayGamesPlatform
.
Ładowanie znajomych za pomocą frameworka ISocial
Social.localUser.LoadFriends((success) => {
Debug.Log("Friends loaded OK: " + ok));
foreach(IUserProfile p in Social.localUser.friends) {
Debug.Log(p.userName + " is a friend");
}
Jednak wywołanie zakończy się niepowodzeniem, jeśli bieżący gracz nie zezwolił jeszcze grze na dostęp do tych informacji. Użyj opcji GetLastLoadFriendsStatus
, aby sprawdzić, czy błąd LoadFriends
wystąpił z powodu braku zgody.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Gra może poprosić bieżącego gracza o udostępnienie listy znajomych, wywołując funkcję 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.
}
});
Ta funkcja wyświetli odpowiedni interfejs udostępniania znajomym na danej platformie. To UI pyta gracza, czy chce udostępnić grę znajomym.
Ładowanie znajomych za pomocą PlayGamesPlatform
Innym sposobem wczytania znajomych jest użycie LoadFriends
i 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.
});
Parametr pageSize
to liczba wpisów do przesłania na tej stronie.
Pamiętaj, że jeśli dane w pamięci podręcznej już istnieją, zwrócony bufor może mieć większy rozmiar. Jeśli kolekcja zawiera wystarczającą liczbę rekordów, bufor będzie zawierać co najmniej tę liczbę wpisów. Jeśli forceReload
ma wartość true
,
ten wywołanie spowoduje wyczyszczenie wszystkich danych z lokalnej pamięci podręcznej i próbę pobrania najnowszych danych z serwera. Jest to zwykle używane do wykonywania takich działań jak odświeżanie inicjowane przez użytkownika. Zwykle wartość tego parametru powinna wynosić false
, aby korzystać z zalet pamięci podręcznej danych.
Jeśli wywołanie zwrotne zwróci wartość LoadFriendsStatus.LoadMore
, oznacza to, że jest więcej znajomych do załadowania. LoadFriendsStatus.ResolutionRequired
oznacza, że użytkownik nie udostępnił listy znajomych i można do niego zadzwonić bezpośrednio.PlayGamesPlatform.Instance.AskForLoadFriendsResolution
Określanie widoczności listy znajomych
Użyj PlayGamesPlatform.Instance.GetFriendsListVisibility
, aby sprawdzić, czy użytkownik udostępnił listę znajomych grze. Możliwe stany zwrotu:
FriendsListVisibilityStatus.RequestRequired
oznacza, że musisz poprosić o zgodę.FriendsListVisibilityStatus.Visible
oznacza, że wczytanie listy znajomych powinno się udać.FriendsListVisibilityStatus.Unknown
nie powinno się zdarzyć. Aby odświeżyć dane, możesz ustawić parametrforceReload
na wartość „PRAWDA”.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Wyświetlanie profilu gracza
Aby dodać lub usunąć gracza jako znajomego, użyj funkcji wyświetlania i porównywania profilu. Ta funkcja uruchamia wyskakujące okienko z profilem użytkownika w Google Play Games. Wywołaj funkcję, podając identyfikator gracza. Jeśli gracz i jego znajomy mają pseudonimy w grze, użyj ich w rozmowie, aby dodać więcej kontekstu do interfejsu profilu:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});