Conquistas em jogos do Unity

Este tópico descreve como usar as conquistas dos serviços relacionados a jogos do Google Play em jogos do Unity. É necessário que você tenha configurado o projeto e o plug-in do Google Play Games para Unity, conforme discutido no Guia para iniciantes.

Criar uma conquista

Depois de configurar seu projeto e o plug-in, crie as conquistas no Google Play Console e atualize o plug-in com os recursos do Android para suas conquistas. Para saber mais sobre como criar conquistas no Play Console, consulte o guia de conquistas.

Revelar e desbloquear uma conquista

Para desbloquear uma conquista, use o método Social.ReportProgress com um valor de progresso 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
    });

De acordo com o comportamento esperado do Social.ReportProgress, um valor de 0,0f significa que a conquista é revelada, e um progresso de 100,0f significa que a conquista está desbloqueada.

Para revelar uma conquista que estava oculta sem desbloqueá-la, chame Social.ReportProgress com um valor de 0,0f.

Incrementar uma conquista

Se a conquista for incremental, a implementação de Social.ReportProgress no Play Games vai tentar aderir ao comportamento esperado de acordo com a API social do Unity. No entanto, o comportamento pode não ser idêntico. Por isso, recomendamos que você não use o Social.ReportProgress para conquistas incrementais. Em vez disso, use o método PlayGamesPlatform.IncrementAchievement, que é uma extensão do 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
    });

Mostrar a interface de conquistas

Para mostrar a IU integrada de todas as conquistas, chame Social.ShowAchievementsUI.

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