Amici di Play Giochi consente ai giocatori di creare e mantenere amici in più giochi dall'elenco di lettura. Puoi richiedere l'accesso a questo elenco di amici per aiutare i tuoi giocatori a giocare con giocano con i loro amici. Consulta le Pagina concettuale "Amici" per maggiori dettagli sul sistema di amici.
Prima di iniziare
Configura il tuo progetto e il plug-in di Google Play Giochi per Unity. Per maggiori dettagli, vedi la Guida introduttiva.
Consulta le linee guida sulle best practice istruzioni sul modo migliore per implementare queste API.
Consulta le linee guida sulle best practice per trovare istruzioni il modo migliore per implementare queste API.
Abilita gli amici
Per attivare gli amici, utilizza le seguenti funzioni:
Visualizza amici: Richiedi l'accesso all'elenco di amici di un giocatore per poter aggiungere i suoi giochi amici al tuo elenco di amici nel gioco.
Visualizzare il profilo di un giocatore: Consenti a un giocatore di visualizzare il profilo Play Giochi di un altro giocatore. Questo è essenziali in modo che un giocatore sappia chi sono i suoi amici e possa connettersi I giocatori di Play Giochi nel tuo gioco. Dovrà essere associato a un elemento UI per attivare il popup. Consulta le linee guida per gli amici per maggiori dettagli.
Visualizza amici
Esistono due modi per caricare gli amici: utilizzando il framework ISocial
oppure
direttamente con PlayGamesPlatform
.
Carica gli amici con il framework 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");
}
Tuttavia, questa chiamata non andrà a buon fine se il player corrente non ha ancora concesso
autorizzazione al gioco per accedere a queste informazioni. Utilizza le funzionalità di
GetLastLoadFriendsStatus
per verificare se LoadFriends
non è riuscito a causa di un errore mancante
consenso.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Un gioco può chiedere al giocatore corrente di condividere l'elenco di amici chiamando
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.
}
});
Questa funzione mostra l'UI di condivisione con gli amici specifica della piattaforma. Questa UI chiede al giocatore se vuole condividere i suoi amici con il gioco.
Carica amici con PlayGamesPlatform
Un altro modo per caricare gli amici è utilizzare LoadFriends
e 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.
});
Il parametro pageSize
rappresenta il numero di voci da richiedere per questa pagina.
Tieni presente che se esistono già dati memorizzati nella cache, il buffer restituito potrebbe contenere altri dati
di queste dimensioni. È garantito che il buffer contenga almeno questo numero di voci
se la raccolta contiene un numero sufficiente di record. Se il criterio forceReload
viene impostato su true
,
questa chiamata cancellerà tutti i dati memorizzati nella cache locale e tenterà di recuperare l'ultima
dati dal server. Questa categoria viene comunemente utilizzata per azioni come
aggiornamento avviato. Normalmente, questo valore deve essere impostato su false
per ottenere
vantaggi della memorizzazione nella cache dei dati.
Se il callback restituisce LoadFriendsStatus.LoadMore
, ci sono altri
amici da caricare. LoadFriendsStatus.ResolutionRequired
indica che l'utente
non ha condiviso l'elenco di amici e puoi chiamare direttamente
PlayGamesPlatform.Instance.AskForLoadFriendsResolution
.
Determinare la visibilità dell'elenco di amici
Usa PlayGamesPlatform.Instance.GetFriendsListVisibility
per verificare se l'utente
ha condiviso l'elenco di amici con il gioco. I possibili stati di reso sono:
FriendsListVisibilityStatus.RequestRequired
indica che devi richiedere consenso.FriendsListVisibilityStatus.Visible
indica che è in corso il caricamento dell'elenco di amici dovrebbe riuscire.In genere
FriendsListVisibilityStatus.Unknown
non dovrebbe succedere. Puoi impostareforceReload
su true per aggiornare i dati.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Visualizzare il profilo di un giocatore
Per aggiungere o rimuovere un giocatore dagli amici, utilizza il profilo del programma e confronta personalizzata. Questa funzione attiva una finestra di dialogo per il riquadro inferiore che mostra Play Giochi profilo dell'utente; chiama la funzione con l'ID player dell'oggetto un player. Se il giocatore e l'amico hanno nickname in-game, usali nella chiamata per aggiungi ulteriore contesto all'interfaccia utente del profilo:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});