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.
Zapoznaj się z wytycznymi dotyczącymi sprawdzonych metod, aby dowiedzieć się, jak najlepiej wdrożyć 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ć 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ł, 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ł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
GetLastLoadFriendsStatus, aby sprawdzić, czy LoadFriends nie powiodło się z powodu braku
zgody.
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 chcesz 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 pozycji, o ile 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 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. 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 to:
FriendsListVisibilityStatus.RequestRequiredoznacza, że musisz poprosić użytkowników o zgodę.FriendsListVisibilityStatus.Visibleoznacza, że wczytanie listy znajomych powinno się udać.FriendsListVisibilityStatus.Unknownnie 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 ze znajomych, użyj funkcji wyświetlania i porównywania profilu. Ta funkcja wywołuje okno u dołu ekranu, w którym wyświetlany jest profil użytkownika w Grach Play. Wywołaj ją, 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.
});