Znajomi w grach na Unity

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

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.
});