Unity oyunlarındaki başarılar

Bu konuda, Unity oyunlarında Play Games Services başarılarının nasıl kullanılacağı açıklanmaktadır. Bu makalede, Başlangıç kılavuzunda açıklandığı gibi projenizi ve Unity için Google Play Games eklentisini oluşturduğunuz varsayılmaktadır.

Başarı oluşturma

Projenizi ve eklentinizi ayarlarken Google Play Console'da başarıları oluşturun ve ardından eklentiyi başarılarınıza ait Android kaynaklarıyla güncelleyin. Play Console'da başarı oluşturma hakkında ayrıntılı bilgi için başarı kılavuzuna göz atın.

Bir başarının kilidini açma

Bir başarının kilidini açmak için 100, 0f ilerleme değeriyle Social.ReportProgress yöntemini kullanın:

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // unlock achievement (achievement ID "Cfjewijawiu_QA")
    Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
      // handle success or failure
    });

Social.ReportProgress işlevinin beklenen davranışına göre, 0,0f değeri başarının gösterildiği, 100,0f değeri ise başarının kilidinin açıldığı anlamına gelir.

Daha önce gizli olan bir başarının kilidini açmadan göstermek için Social.ReportProgress işlevini 0, 0f değeriyle çağırın.

Bir başarının değerini artırma

Başarı artımlıysa Social.ReportProgress'in Play Games uygulaması, Unity'nin sosyal API'sine göre beklenen davranışa uymaya çalışır. Ancak davranış aynı olmayabilir. Bu nedenle, artımlı başarılar için Social.ReportProgress işlevini kullanmamanızı öneririz. Bunun yerine, Play Games uzantısı olan PlayGamesPlatform.IncrementAchievement yöntemini kullanın.

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

Başarılar kullanıcı arayüzünü gösterme

Tüm başarıların yerleşik kullanıcı arayüzünü göstermek için Social.ShowAchievementsUI işlevini çağırın.

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