Obiettivi nei giochi Unity

Questo argomento descrive come utilizzare gli obiettivi dei servizi per i giochi di Play nei giochi Unity. Presuppone 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 i tuoi obiettivi. Per informazioni dettagliate sulla creazione di obiettivi in Play Console, consulta la guida agli obiettivi.

Mostrare e sbloccare un obiettivo

Per sbloccare un obiettivo, utilizza il metodo Social.ReportProgress con un valore di avanzamento pari a 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 di 0.0f.

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. 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 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 la UI degli obiettivi

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

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