Obiettivi nei giochi Unity

Questo argomento descrive come utilizzare i traguardi di Play Services nei giochi Unity. Si presume che tu abbia configurato il progetto e il plug-in Google Play Giochi per Unity, come descritto nella guida introduttiva.

Creare 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 gli obiettivi. Per informazioni dettagliate sulla creazione degli obiettivi in Play Console, consulta la guida agli obiettivi.

Rivelare e sbloccare un obiettivo

Per sbloccare un obiettivo, utilizza il metodo Social.ReportProgress con un valore di avanzamento pari a 100,0:

    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 il traguardo è stato rivelato e un avanzamento di 100,0f indica che il traguardo è stato sbloccato.

Per rivelare un obiettivo precedentemente nascosto senza sbloccarlo, chiama Social.ReportProgress con un valore di 0,0.

Incrementare un obiettivo

Se l'obiettivo è incrementale, l'implementazione di Play Giochi di Social.ReportProgress cercherà di rispettare il comportamento previsto in base all'API social di Unity. Tuttavia, il comportamento potrebbe non essere identico, pertanto ti consigliamo di non utilizzare Social.ReportProgress per i traguardi incrementali. Utilizza invece il metodo PlayGamesPlatform.IncrementAchievement, che è un'estensione di Google Play Giochi.

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

Mostrare l'interfaccia utente degli obiettivi

Per visualizzare l'interfaccia utente integrata per tutti gli obiettivi, chiama Social.ShowAchievementsUI.

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // show achievements UI
    Social.ShowAchievementsUI();