Pencapaian dalam game Unity

Topik ini menjelaskan cara menggunakan pencapaian Layanan game Play dalam game Unity. Hal ini mengasumsikan bahwa Anda telah menyiapkan project Anda dan plugin Google Play Game untuk Unity, seperti yang telah dibahas di Panduan memulai.

Membuat pencapaian

Saat Anda menyiapkan project dan plugin, buat pencapaian di Konsol Google Play, lalu update plugin dengan resource Android untuk pencapaian Anda. Untuk detail tentang membuat pencapaian di Konsol Play, lihat panduan pencapaian.

Mengungkapkan dan membuka pencapaian

Untuk membuka pencapaian, gunakan metode Social.ReportProgress dengan nilai progres 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
    });

Menurut perilaku Social.ReportProgress yang diharapkan, nilai 0.0f berarti pencapaian terungkap, dan progres 100.0f berarti pencapaian terbuka.

Untuk mengungkapkan pencapaian yang sebelumnya tersembunyi tanpa membukanya, panggil Social.ReportProgress dengan nilai 0.0f.

Menambahkan pencapaian

Jika pencapaian bersifat inkremental, implementasi Social.ReportProgress Play Game akan mencoba mematuhi perilaku yang diharapkan menurut API sosial Unity. Namun, perilaku tersebut mungkin tidak identik. Jadi, sebaiknya Anda tidak menggunakan Social.ReportProgress untuk pencapaian yang bersifat inkremental. Sebagai gantinya, gunakan metode PlayGamesPlatform.IncrementAchievement, yang merupakan ekstensi Play Game.

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

Menampilkan UI pencapaian

Untuk menampilkan UI bawaan bagi semua pencapaian, panggil Social.ShowAchievementsUI.

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