Funkcja Znajomi w Grach Play umożliwia graczom tworzenie i utrzymywanie listy znajomych, która jest wspólna dla wszystkich gier. Możesz poprosić o dostęp do tej listy znajomych, aby ułatwić graczom granie w Twoją grę ze znajomymi. Więcej informacji o systemie znajomych znajdziesz na stronie z opisem koncepcji znajomych.
Zanim rozpoczniesz
Skonfiguruj projekt i wtyczkę Gry Google Play do silnika Unity. Więcej informacji znajdziesz w przewodniku dla początkujących.
Instrukcje dotyczące najlepszego sposobu implementacji tych interfejsów API znajdziesz w wytycznych dotyczących sprawdzonych metod.
Instrukcje dotyczące najlepszego sposobu implementacji tych interfejsów API znajdziesz w wytycznych dotyczących sprawdzonych metod.
Włączanie znajomych
Aby włączyć znajomych, użyj tych funkcji:
Wyświetlanie znajomych: poproś o dostęp do listy znajomych gracza, aby móc dodać jego znajomych z Gier Play do listy znajomych w grze.
Wyświetlanie profilu gracza: umożliwia graczowi wyświetlenie profilu innego gracza w Grach Play. Jest to niezbędne, aby gracz wiedział, kto jest jego znajomym, i mógł nawiązywać kontakt z innymi graczami w Grach Play w Twojej grze. Aby wywołać wyskakujące okienko, musisz powiązać tę funkcję z elementem interfejsu. Więcej informacji znajdziesz w wytycznych dotyczących znajomych.
Wyświetlanie znajomych
Istnieją 2 sposoby wczytywania znajomych: za pomocą platformy ISocial lub
bezpośrednio za pomocą platformy PlayGamesPlatform.
Wczytywanie 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");
}
To wywołanie nie powiedzie się, jeśli bieżący gracz nie przyznał jeszcze grze uprawnień dostępu do tych informacji. Aby sprawdzić, czy wywołanie LoadFriends nie powiodło się z powodu braku
zgody, użyj funkcji
GetLastLoadFriendsStatus.
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 znajomych specyficzny dla platformy. Ten interfejs zapyta gracza, czy chce udostępnić znajomych grze.
Wczytywanie znajomych za pomocą platformy PlayGamesPlatform
Innym sposobem wczytywania znajomych jest użycie funkcji 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, o które należy poprosić na tej stronie.
Pamiętaj, że jeśli dane w pamięci podręcznej już istnieją, zwrócony bufor może zawierać więcej niż tę liczbę. Jeśli kolekcja zawiera wystarczającą liczbę rekordów, bufor na pewno będzie zawierać co najmniej tę liczbę wpisów. Jeśli parametr forceReload jest ustawiony na true, to wywołanie wyczyści wszystkie dane w pamięci podręcznej i spróbuje pobrać najnowsze dane z serwera. Zwykle jest to używane w przypadku działań takich jak odświeżanie zainicjowane przez użytkownika. Zwykle należy ustawić wartość 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. Wartość LoadFriendsStatus.ResolutionRequired oznacza, że użytkownik nie udostępnił listy znajomych, i możesz bezpośrednio wywołać funkcję PlayGamesPlatform.Instance.AskForLoadFriendsResolution.
Określanie widoczności listy znajomych
Aby sprawdzić, czy użytkownik udostępnił listę znajomych grze, użyj funkcji PlayGamesPlatform.Instance.GetFriendsListVisibility. Możliwe stany zwracane:
FriendsListVisibilityStatus.RequestRequiredoznacza, że musisz poprosić o zgodę.FriendsListVisibilityStatus.Visibleoznacza, że wczytanie listy znajomych powinno się udać.FriendsListVisibilityStatus.Unknownzwykle nie powinno się zdarzyć. Aby odświeżyć dane, możesz ustawić wartośćforceReloadna true.
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 wywołuje okno dialogowe planszy dolnej, w którym wyświetla się profil użytkownika w Grach Play. Wywołaj tę funkcję z identyfikatorem gracza, o którego profil chcesz poprosić. Jeśli gracz i znajomy mają pseudonimy w grze, użyj ich w wywołaniu, aby dodać więcej kontekstu do interfejsu profilu:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});