Grupa znajomych w Grach Play pozwala graczom nawiązywać znajomości i utrzymywać znajomych w grach z listy. Możesz poprosić o dostęp do tej listy znajomych, aby ułatwić graczom grę grają ze znajomymi. Zobacz Strona z koncepcją Znajomi , aby dowiedzieć się więcej o systemie znajomych.
Zanim rozpoczniesz
Skonfiguruj projekt i wtyczkę Gier Google Play dla Unity. Więcej informacji: przeczytaj przewodnik dla początkujących.
Zapoznaj się ze sprawdzonymi metodami dotyczącymi za chwilę dowiesz się, jak najlepiej wdrożyć te interfejsy API.
Zobacz ze sprawdzonymi metodami, gdzie znajdziesz instrukcje dotyczące i najlepszy sposób wdrożenia tych interfejsów API.
Włącz znajomych
Aby włączyć znajomych, użyj następujących funkcji:
Wyświetl znajomych: Poproś o dostęp do listy znajomych gracza, aby można było dodać jego gry Play do Twojej listy znajomych w grze.
Wyświetlanie profilu gracza: Zezwól graczowi na wyświetlanie profilu innego gracza w Grach Play. To jest jest niezbędna, aby gracz wiedział, kim są ich znajomi, i może łączyć się graczy, którzy korzystają z Gier Play. Trzeba to powiązać z elementem interfejsu, powoduje wyświetlenie wyskakującego okienka. Zobacz wskazówki dotyczące znajomych .
Wyświetl znajomych
Są 2 sposoby ładowania listy znajomych: za pomocą platformy ISocial
lub
bezpośrednio w usłudze 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");
}
Wywołanie zakończy się jednak niepowodzeniem, jeśli obecny gracz nie udzielił jeszcze zgody.
uprawnienia dostępu gry do tych informacji. Używaj
GetLastLoadFriendsStatus
, aby sprawdzić, czy nie udało się sprawdzić: LoadFriends
z powodu braku
zgody na wykorzystanie danych.
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 przez nawiązanie połączenia
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 udostępniania znajomych na określonej platformie. W interfejsie pojawi się pytanie, czy gracz chce udostępnić grze swoim znajomym.
Wczytaj znajomych w PlayGamesPlatform
Innym sposobem na wczytanie znajomych jest użycie polecenia 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
reprezentuje liczbę wpisów, które mają być zażądane dla tej strony.
Pamiętaj, że jeśli dane w pamięci podręcznej już istnieją, zwrócony bufor może zawierać więcej
niż ten rozmiar. Bufor musi zawierać co najmniej tyle wpisów
jeśli kolekcja zawiera wystarczająco dużo rekordów. Jeśli forceReload
ma wartość true
,
to wywołanie usunie wszystkie dane z lokalnej pamięci podręcznej i spróbuje pobrać najnowsze
z serwera. Najczęściej używa się go w przypadku działań takich jak
zainicjowano odświeżanie. Zwykle powinna ona mieć wartość false
, aby uzyskać
korzyści buforowania danych.
Jeśli wywołanie zwrotne zwraca LoadFriendsStatus.LoadMore
, oznacza to, że jest więcej
znajomych do wczytania. LoadFriendsStatus.ResolutionRequired
sygnalizuje, że użytkownik
nie udostępnia listy znajomych i możesz bezpośrednio zadzwonić
PlayGamesPlatform.Instance.AskForLoadFriendsResolution
Określanie widoczności listy znajomych
Użyj polecenia PlayGamesPlatform.Instance.GetFriendsListVisibility
, aby sprawdzić, czy użytkownik
udostępnia grą listę znajomych. Możliwe stany zwrotu:
FriendsListVisibilityStatus.RequestRequired
oznacza, że musisz poprosić o zgody na wykorzystanie danych.FriendsListVisibilityStatus.Visible
oznacza, że wczytywanie listy znajomych powinno się udać.FriendsListVisibilityStatus.Unknown
zwykle nie powinno mieć miejsca. Możesz ustawićforceReload
na true, aby odświeżyć dane.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Wyświetlanie profilu gracza
Aby dodać gracza do znajomych lub go usunąć, skorzystaj z profilu programu i porównaj go . Ta funkcja powoduje wyświetlenie dolnego okna dialogowego z Grami Play profil użytkownika; Wywołaj funkcję z identyfikatorem odtwarzacza żądanego . Jeśli gracz i jego znajomy mają pseudonimy w grze, użyj ich w rozmowie do dodaj więcej kontekstu do interfejsu profilu:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});