La funzionalità Amici di Play Giochi consente ai giocatori di creare e gestire un elenco di amici tra giochi. Puoi richiedere l'accesso a questo elenco di amici per aiutare i tuoi giocatori a giocare al tuo gioco con i loro amici. Per ulteriori dettagli sul sistema di amici, consulta la pagina del concetto di amici.
Prima di iniziare
Configura il progetto e il plug-in Google Play Giochi per Unity. Per maggiori dettagli, consulta la guida introduttiva.
Consulta le linee guida sulle best practice per istruzioni sul modo migliore per implementare queste API.
Consulta le linee guida sulle best practice per istruzioni sul modo migliore per implementare queste API.
Attivare 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 amici di Google Play al tuo elenco di amici in-game.
Visualizza il profilo di un giocatore: Consenti a un giocatore di visualizzare il profilo di Play Giochi di un altro giocatore. Questo è essenziale affinché un giocatore sappia chi sono i suoi amici e possa connettersi ad altri giocatori di Play Giochi nel tuo gioco. Questo dovrà essere collegato a un elemento dell'interfaccia utente per attivare il popup. Per maggiori dettagli, consulta le linee guida sugli amici.
Visualizza amici
Esistono due modi per caricare gli amici: utilizzando il framework ISocial
o direttamente con PlayGamesPlatform
.
Caricare 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 giocatore corrente non ha ancora concesso al gioco l'autorizzazione ad accedere a queste informazioni. Utilizza
GetLastLoadFriendsStatus
per verificare se LoadFriends
non è riuscito a causa del consenso mancante.
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 mostrerà l'interfaccia utente di condivisione con gli amici specifica della piattaforma. Questa UI chiede al giocatore se vuole condividere i suoi amici con il gioco.
Caricare gli 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 i dati memorizzati nella cache esistono già, il buffer restituito potrebbe contenere più di queste dimensioni. È garantito che il buffer contenga almeno questo numero di voci
se la raccolta contiene record sufficienti. Se forceReload
è impostato su true
,
questa chiamata cancellerà tutti i dati memorizzati nella cache locale e tenterà di recuperare i dati più recenti
dal server. Questo viene comunemente utilizzato per azioni come un aggiornamento avviato dall'utente. Di solito, questo valore deve essere impostato su false
per usufruire dei vantaggi della memorizzazione nella cache dei dati.
Se il callout restituisce LoadFriendsStatus.LoadMore
, significa che ci sono altri amici da caricare. LoadFriendsStatus.ResolutionRequired
indica che l'utente
non ha condiviso l'elenco di amici e puoi chiamare direttamentePlayGamesPlatform.Instance.AskForLoadFriendsResolution
.
Determinare la visibilità dell'elenco di amici
Utilizza PlayGamesPlatform.Instance.GetFriendsListVisibility
per verificare se l'utente
ha condiviso l'elenco di amici con il gioco. I possibili stati di ritorno sono:
FriendsListVisibilityStatus.RequestRequired
indica che devi chiedere il consenso.FriendsListVisibilityStatus.Visible
indica che il caricamento dell'elenco di amici dovrebbe essere andato a buon fine.FriendsListVisibilityStatus.Unknown
in genere non dovrebbe verificarsi. 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 come amico, utilizza la funzione di visualizzazione e confronto del profilo. Questa funzione attiva una finestra di dialogo del riquadro in basso che mostra il profilo di Play Giochi dell'utente. Chiama la funzione con l'ID giocatore del giocatore richiesto. Se il giocatore e l'amico hanno nickname in-game, utilizzali nella chiamata per aggiungere ulteriore contesto all'interfaccia utente del profilo:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});