In questa sezione viene descritto come utilizzare gli obiettivi di Play Games Services nei giochi Unity. Devi avere già precedentemente configurato il progetto e il plug-in di Google Play Games per Unity, come descritto nella Guida introduttiva.
Crea un obiettivo
Quando configuri il progetto e il plug-in, crea gli obiettivi in Google Play Console e poi aggiorna il plug-in con le risorse Android per i tuoi obiettivi. Per informazioni dettagliate sulla creazione degli obiettivi in Play Console, consulta la guida agli obiettivi.
Mostra e sblocca un obiettivo
Per sbloccare un obiettivo, utilizza il metodo Social.ReportProgress con un valore di avanzamento di 100.0f:
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// unlock achievement (achievement ID "Cfjewijawiu_QA")
Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
// handle success or failure
});
In base al comportamento previsto di Social.ReportProgress, un valore di 0.0f indica che l'obiettivo è stato rivelato e un avanzamento di 100.0f indica che l'obiettivo è stato sbloccato.
Per mostrare un obiettivo che era precedentemente nascosto senza sbloccarlo, chiama Social.ReportProgress con un valore pari a 0.0f.
Incrementa un obiettivo
Se l'obiettivo è incrementale, l'implementazione di Social.ReportProgress in Play Games cercherà di rispettare il comportamento previsto in base all'API Social di Unity. Il comportamento potrebbe non essere identico, quindi ti consigliamo di non utilizzare Social.ReportProgress per gli obiettivi incrementali. Utilizza invece il metodo PlayGamesPlatform.IncrementAchievement, che è un'estensione di Play Games.
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
PlayGamesPlatform.Instance.IncrementAchievement(
"Cfjewijawiu_QA", 5, (bool success) => {
// handle success or failure
});
Mostra la UI degli obiettivi
Per mostrare la UI integrata per tutti gli obiettivi, chiama Social.ShowAchievementsUI.
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();