Unity Google Play Başarımlar ve Skor Tablosunu Kullanma

Unity Google Play Başarımlar ve Skor Tablosunu Kullanma


Hepinize merhaba arkadaşlar bu yazımda sizlere Unity de Google Play Oyun Hizmetlerini nasıl kullanabileceğinizi anlatacağım. Google Play Oyun Hizmetlerini kullanarak oyununuza nasıl başarımlar ekleyip skor tablosu oluşturacağınızı anlatacağım. İyi okumalar.

Google Play Hizmetlerinin Kurulumu

Kurulum işlemini iki kalemde ele alacağız ilki Google Play üzerinde yapacağımız kurulum işlemi olacaktır, diğeri ise Unity kısmında yapacağımız kurulum işlemi.

İlk olarak Google Play Console da sol taraftaki menüden Play Oyun Hizmetlerini seçiyoruz ve karşımıza aşağıdaki gibi bir sayfa çıkacaktır, buradan size uygun olanı seçin.


Play Oyun Hizmetleri Kurulumu

Bu işlemin ardından OAuth ile kullanıcıların hesaplarına giriş yapabilmeleri için uygulamamızı doğrulamamız gerekmektedir.

OAuth

Buradaki yapılandıra tıklayın, aşağıdaki gibi bir sayfa açılacaktır.

OAuth Page

Bu sayfada bulunan Google Cloud Platform bağlantısına tıklayın. Sırası ile açılan sayfada aşağıdaki işlemleri uygulayın.

OAuth Content Screen


1

İlk sayfada External olanı seçiyoruz ve "Create" butonuna tıklıyoruz.

Açılan diğer sayfada karşımıza bir sürü doldurmamız gereken alan çıkacaktır, bunlardan uygulama adı, uygulama destek mail adresi ve geliştirici mail adresi alanlarını doldurmanız gerekmektedir. ("*" ile işaretli olan alanlar zorunludur.)
Not: Diğer alanları da doldurmanız avantajınıza olacaktır.

Scopes

Daha sonra açılan sayfada "Save and Continue" ye basıp devam edin.

Test User

Test kullanıcısı eklemek istiyorsanız, test kullanıcılarının mail adreslerini yazın ve devam edin.

Summary

Bu sayfada girdiğiniz bilgiler gözükmektedir, hatalı bir bilgi görmüyorsanız artık bitmiş demektir, artık Google Play Console üzerinde "Yapılandırmayı Doğrula" butonuna tıklayıp bekleyin. Girmiş olduğunuz bilgiler ile OAuth sisteminiz kurulmuş olacaktır.

Play Console üzerinde kimlik bilgisi ekle kısmına gelip kimlik bilgisi oluşturmanız gerekmektedir.

Kimlik Bilgisi

Butona tıkladığımız zaman karşımıza aşağıdaki gibi bir sayfa gelecektir.

3

Aşağı tarafta eğer OAuth istemcisi yok yazıyor ise OAuth istemcisi oluştur butonuna tıklayıp OAuth istemcisi oluşturun.

4

Tıkladıktan sonra açılan sayfada uygulamanız / oyununuzun kimlik bilgileri gelecektir, sayfanın üstünde bulunan "OAuth İstemci Kimliği Oluşturma" butonuna tıklayın ve yeni açılan pencerede uygulama bilgilerinize göre gerekli alanları doldurun ve daha sonra "Create" butonuna tıklayın.

Kodlarımız

Kurulum işlemleri tamamlandıktan sonra artık tek yapmamız gereken şey kodlarımız ile oluşturduğumuz başarımlar ve skor tablolarına erişip değerleri güncellemek ve kullanıcıya göstermek olacaktır.

Aşağıdaki kodların bazı yerlerini kendi projenize göre düzenlemeniz gerekecektir. Bu alanları bu kodları kendi projenize göre düzenlemeniz gerekiyor diye not olarak bildireceğim.

Kullanıcı Girişi

Oyuncunun başarımlarını ekleyebilmesi veya skor tablosunda görülebilmesi için Google Play hesabı ile giriş yapmış olması gerekiyor. Bu kullanıcı girişini yaptırmak için aşağıdaki kodları kullanıyoruz.

Aşağıdaki kodları projenizde değiştirmeden direkt olarak kullanabilirsiniz.

    private void Start()
    {
        UserGooglePlayLogin();
    }

    void UserGooglePlayLogin() // Kullanıcının giriş yapabilmesi için bir fonksiyon oluşturuyoruz.
    {
        try // Try - Catch yapısı ile hata alsak bile oyunun çökmesini engelliyoruz.
        {
            PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().Build(); // Clienti Google Play ile bağlıyoruz.
            PlayGamesPlatform.InitializeInstance(config); // Bağlarkenki ayarları ekliyoruz.
            PlayGamesPlatform.DebugLogEnabled = true; // Hata ayıklamak için dönüşleri aktif ediyoruz.
            PlayGamesPlatform.Activate(); // Google Playı aktif ediyoruz.
            Social.localUser.Authenticate((bool success) => { }); // Kullanıcı girişini yapıyoruz.
        }
        catch (Exception exception) // Hataları ayıklıyoruz.
        {
            Debug.Log(exception); // Hatayı konsola yazdırıyoruz.
        }
    }

Skor Tablosuna Puan Ekleme

Evet arkadaşlar burada Skor Tablosuna skor eklemek için kodlarımız bulunuyor. Buradaki 2 değişkeni kendi projenize göre düzenlemeniz gerekmektedir.

    public void AddScoreToScoreBoard()
    {
        string scoreBoardID = ""; // Buraya Google Play Hizmetlerinden aldığınız Skor Tablosu ID sini ekliyoruz.
        int score = 0; // Burası skor tablosuna gönderilecek skor değişkenimiz. Bunu kendi oyun projenizinki ile değiştirmeniz gerekiyor.
        
        if (Social.localUser.authenticated) // Kullanıcı giriş yapmış ise
            Social.ReportScore(score, scoreBoardID, success => { }); Skor tablosuna skorumuzu gönderiyoruz. 
        
    }

Burada dikkat ettiyseniz Social.ReportScore fonksiyonuna 3 adet değer döndürüyoruz bunları incelememiz gerekir ise;

Sırası ile score, scoreBoardID, success..

  • score Göndereceğimiz puanımız.
  • scoreaBoardID ise Google Play Hizmetlerinden aldığımız Skor Tablosunun ID sinir.
  • success => {} ise işlem başarılı olduğu zaman çağırılan bir fonksiyondur. Do.Tween kullanmış iseniz oradaki "OnComplate(() => fonksiyon)" komutu gibi düşünebilirsiniz.

Başarım Ekleme

Kullanıcılarımızın başarım ilerlemelerini kaydetmek için kodlarımıza bakalım. Kendi projenize göre burayı da düzenlemeniz gerekiyor
  
     public void AddAchievments()
    {
    string achievmentsID = ""; // Başarımın Google Play Hizmetleri ID si
    float progress = ""; // Başarımın ilerlemesi.
        if(Social.localUser.authenticated) // Kullanıcı giriş yapmış ise
            Social.ReportProgress(achievmentsID, progress, success => { }); /7 Başarım bilgilerini güncelliyoruz.
    }

  
Skor tablosu ile aynı 3 değer burada da yer alıyor diyebiliriz. Burada sadece "score" kısmı yerine "progress" bulunuyor ve başarımın ilerleme seviyesine tekabül ediyor.

Progress kısmı 0-100 arası bir değer alıyor ve 100 olduğu zaman başarım tamamen açılmış oluyor. 

Skor Tablosunu ve Başarımları Göstermek

Kullanıcıların kazandıkları başarımları ve skor tablosunu görmeleri için kullandığımız kodlarımız.
    public void ShowLeaderBoard()
    {
        if (Social.localUser.authenticated) // Kullanıcı giriş yapmış ise.
            Social.ShowLeaderboardUI(); // Skor tablosunu gösteriyoruz.
    }

    public void ShowAchievments()
    {
        if(Social.localUser.authenticated) // Kullanıcı giriş yapmış ise
            Social.ShowAchievementsUI(); // Başarımları gösteriyoruz
    }
  

Başarım veya Skor tablosunu göstermek için yukarıdaki fonksiyonları bir butonda çağırmanız yeterli olacaktır. Ayrıca burayı da düzenlemeden direkt olarak projenizde kullanabilirsiniz.

Evet arkadaşlar bu yazının da burada sonuna geldik. Takıldığınız bir yer veya merak ettiğiniz bir sorunuz bulunuyorsa bana aşağıdaki yorum kısmından sorabilirsiniz.