Logros en juegos de Unity

En este tema, se describe cómo usar los logros de los Servicios de juego de Play en los juegos de Unity. Se da por sentado que configuraste tu proyecto y el complemento de Google Play Juegos para Unity, como se explica en la Guía de introducción.

Crea un logro

Cuando configures tu proyecto y el complemento, crea los logros en Google Play Console y, luego, actualiza el complemento con los recursos de Android para tus logros. Si deseas obtener más detalles para crear logros en Play Console, consulta la guía de logros.

Revela y desbloquea un logro

Para desbloquear un logro, usa el método Social.ReportProgress con un valor de progreso de 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
    });

Según el comportamiento esperado de Social.ReportProgress, un valor de 0.0f significa que el logro se revela y un progreso de 100.0f significa que se desbloqueó.

Para revelar un logro que estaba oculto antes sin desbloquearlo, llama a Social.ReportProgress con un valor de 0.0f.

Incrementa un logro

Si el logro es incremental, la implementación de Social.ReportProgress de Play Juegos intentará respetar el comportamiento esperado según la API de redes sociales de Unity. Sin embargo, es posible que el comportamiento no sea idéntico, por lo que te recomendamos que no uses Social.ReportProgress para los logros incrementales. En su lugar, usa el método PlayGamesPlatform.IncrementAchievement, que es una extensión de Play Juegos.

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

Muestra la IU de logros

Para mostrar la IU integrada de todos los logros, llama a Social.ShowAchievementsUI.

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