Funkcja znajomych w Grach Play pozwala tworzyć i obsługiwać listę znajomych w różnych grach. Możesz poprosić o dostęp do tej listy znajomych, by ułatwić graczom granie w Twoją grę ze swoimi znajomymi. Więcej informacji na temat systemu znajomych znajdziesz na stronie z informacjami o znajomych.
Zanim zaczniesz
Skonfiguruj projekt i wtyczkę Gier Google Play dla Unity. Szczegółowe informacje znajdziesz w przewodniku dla początkujących.
Instrukcje dotyczące sprawdzonych metod wdrażania tych interfejsów API znajdziesz we wskazówkach dotyczących sprawdzonych metod.
Informacje o najlepszych sposobach implementacji tych interfejsów API znajdziesz we wskazówkach dotyczących sprawdzonych metod.
Dodaj znajomych
Aby dodać znajomych, użyj następujących funkcji:
Wyświetlanie znajomych: możesz poprosić gracza o dostęp do listy znajomych, by móc dodać jego znajomych w grach do swojej listy.
Wyświetlanie profilu gracza: możesz zezwolić graczowi na wyświetlanie profilu innego gracza w Grach Play. Jest to niezbędne, aby gracz wiedział, kim są jego znajomi, i mógł nawiązywać kontakt z innymi użytkownikami Gier Play w Twojej grze. Musi być on powiązany z elementem interfejsu, aby wywołać wyskakujące okienko. Szczegółowe informacje znajdziesz w wytycznych dotyczących znajomych.
Wyświetl znajomych
Są 2 sposoby wczytywania znajomych: za pomocą platformy ISocial
lub bezpośrednio za pomocą PlayGamesPlatform
.
Ładowanie znajomych za pomocą platformy 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");
}
Wywołanie to nie powiedzie się, jeśli bieżący gracz jeszcze nie zezwolił grze na dostęp do tych informacji. Użyj GetLastLoadFriendsStatus
, aby sprawdzić, czy nie udało się wykonać działania LoadFriends
z powodu braku zgody użytkownika.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Gra może poprosić obecnego gracza o udostępnienie listy znajomych, dzwoniąc do 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świetla odpowiedni interfejs użytkownika udostępniania znajomym z danej platformy. Ten interfejs pyta gracza, czy chce udostępnić w grze swoich znajomych.
Wczytywanie znajomych za pomocą PlayGamesPlatform
Innym sposobem wczytywania listy znajomych jest korzystanie z aplikacji 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
określa liczbę wpisów, których dotyczy żądanie dotyczące tej strony.
Jeśli dane w pamięci podręcznej już istnieją, zwrócony bufor może zawierać więcej niż ten rozmiar. Jeśli kolekcja zawiera wystarczającą liczbę rekordów, w buforze gwarantowane jest co najmniej tylu wpisów. Jeśli forceReload
ma wartość true
, to wywołanie usuwa wszystkie dane z lokalnej pamięci podręcznej i próbuje pobrać najnowsze dane z serwera. Tego ustawienia można zwykle używać w przypadku takich działań jak odświeżenie inicjowane przez użytkownika. Zwykle należy go ustawić na false
, aby korzystać z zalet buforowania danych.
Jeśli wywołanie zwrotne zwróci wartość LoadFriendsStatus.LoadMore
, oznacza to, że jest więcej znajomych do wczytania. Funkcja LoadFriendsStatus.ResolutionRequired
sygnalizuje, że użytkownik nie udostępnił listy znajomych, więc możesz zadzwonić bezpośrednio do: PlayGamesPlatform.Instance.AskForLoadFriendsResolution
.
Określanie widoczności listy znajomych
Użyj PlayGamesPlatform.Instance.GetFriendsListVisibility
, by sprawdzić, czy użytkownik udostępnił listę znajomych gry. Możliwe stany zwrotu:
FriendsListVisibilityStatus.RequestRequired
oznacza, że musisz poprosić o zgodę.FriendsListVisibilityStatus.Visible
wskazuje, że wczytanie listy znajomych powinno się udać.Typ działania
FriendsListVisibilityStatus.Unknown
zwykle nie powinien się pojawić. Aby odświeżać dane, ustawforceReload
na true.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Wyświetlanie profilu gracza
Aby dodać lub usunąć gracza ze znajomych, skorzystaj z funkcji wyświetlania i porównywania profilu. Ta funkcja powoduje wyświetlenie dolnego okna z profilem użytkownika Gier Play. Wywołaj ją, podając identyfikator żądanego odtwarzacza. Jeśli gracz i znajomy mają pseudonimy w grze, użyj ich w rozmowie, aby dodać więcej informacji do interfejsu profilu:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});