Znajomi w Grach Play umożliwiają graczom tworzenie i prowadzenie listy znajomych w różnych grach. Możesz poprosić o dostęp do tej listy znajomych, aby ułatwić graczom wspólną grę ze znajomymi. Więcej informacji o systemie znajomych znajdziesz na stronie z informacjami o znajomych.
Zanim rozpoczniesz
Skonfiguruj projekt i wtyczkę Google Play Games do silnika Unity. Więcej informacji znajdziesz w przewodniku dla początkujących.
W wytycznych dotyczących sprawdzonych metod znajdziesz instrukcje, jak najlepiej zaimplementować te interfejsy API.
Instrukcje dotyczące najlepszego sposobu wdrażania tych interfejsów API znajdziesz w wytycznych dotyczących sprawdzonych metod.
Włącz znajomych
Aby włączyć znajomych, użyj tych funkcji:
Wyświetlanie znajomych: prośba o dostęp do listy znajomych gracza, aby można było dodać jego znajomych z Gier Play do listy znajomych w grze.
Wyświetlanie profilu gracza: umożliwia graczowi wyświetlanie profilu innego gracza w Grach Play. Jest to niezbędne, aby gracz wiedział, kto jest jego znajomym, i mógł łączyć się z innymi użytkownikami Gier Play w Twojej grze. Musi być on powiązany z elementem interfejsu, aby wywoływać wyskakujące okienko. Szczegółowe informacje znajdziesz w wytycznych dotyczących znajomych.
Wyświetlanie znajomych
Znajomych można wczytać na 2 sposoby: za pomocą platformy ISocial
lub bezpośrednio za pomocą 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");
}
Jednak to wywołanie zakończy się niepowodzeniem, jeśli bieżący gracz nie przyznał jeszcze grze uprawnień dostępu do tych informacji. Użyj tego narzędzia, aby sprawdzić, czy LoadFriends
nie powiodło się z powodu braku zgody użytkownika.GetLastLoadFriendsStatus
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, 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. W tym interfejsie użytkownik jest pytany, czy chce udostępnić grze listę znajomych.
Wczytywanie znajomych za pomocą PlayGamesPlatform
Innym sposobem wczytywania 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
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 danych niż ten rozmiar. Bufor zawiera co najmniej tyle wpisów, ile wynosi ta wartość, jeśli kolekcja zawiera wystarczającą liczbę rekordów. Jeśli parametr forceReload
ma wartość true
, to wywołanie wyczyści wszystkie dane zapisane lokalnie w pamięci podręcznej i spróbuje pobrać najnowsze dane z serwera. Jest to zwykle używane w przypadku działań takich jak odświeżanie zainicjowane przez użytkownika. Zwykle powinna być ustawiona 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. LoadFriendsStatus.ResolutionRequired
oznacza, że użytkownik nie udostępnił listy znajomych i możesz bezpośrednio zadzwonić pod numer PlayGamesPlatform.Instance.AskForLoadFriendsResolution
.
Określanie widoczności listy znajomych
Użyj PlayGamesPlatform.Instance.GetFriendsListVisibility
, aby sprawdzić, czy użytkownik udostępnił grze listę znajomych. Możliwe stany zwrotu:
FriendsListVisibilityStatus.RequestRequired
oznacza, że musisz poprosić użytkowników 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ć wartośćforceReload
na true.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Wyświetlanie profilu gracza
Aby dodać lub usunąć gracza ze znajomych, użyj funkcji wyświetlania i porównywania profili. Ta funkcja wywołuje okno u dołu ekranu, w którym wyświetla się profil użytkownika w Grach Play. Wywołaj tę funkcję, podając identyfikator gracza, którego profil chcesz wyświetlić. Jeśli gracz i jego 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.
});