Unity'de kimlik doğrulama

Bu eğitim, Unity projesinde Unity Kimlik Doğrulaması'nı ayarlamanıza rehberlik edecektir. Unity Kimlik Doğrulaması, Unity'nin Kimlik araç setini kullanarak oyunlarınızdaki kullanıcıları yönetmenizi ve kimlik doğrulamanızı sağlar. Kimlik doğrulamasını ayarlamak, projenize entegre etmek ve oturum açma işlevselliğini uygulamak için gereken adımları ele alacağız.

Ön koşullar

  • Unity Hub ve Unity Editor kuruldu.
  • Unity Unity Hizmetleri etkinleştirilmiş proje.
  • Unity hesap ve aktif bir proje kimliği.

Adım 1: Unity Pano'sunda Unity Kimlik Doğrulamasını Ayarlayın

  1. Unity Pano'a giriş yapın.
  2. Projenizi seçin veya yeni bir proje oluşturun.
  3. "Services" bölümünün altındaki Kimlik Doğrulama'e gidin.
  4. Etkinleştir butonuna tıklayarak Kimlik Doğrulamayı etkinleştirin.
  5. Kullanıcı öznitelikleri, oturum açma yöntemleri ve erişim denetimleri gibi Kimlik Doğrulama ayarlarını gerektiği gibi yapılandırın.

Adım 2: Unity Kimlik Doğrulama Paketini Yükleyin

Projenizde Unity Kimlik Doğrulamasını kullanabilmek için uygun paketi yüklemeniz gerekmektedir.

  1. Unity projenizi açın.
  2. Pencere > Paket Yöneticisi'e gidin.
  3. Paket Yöneticisi'nde Authentication ifadesini arayın.
  4. Projenize Kimlik Doğrulama paketini eklemek için Yükle'e tıklayın.

Adım 3: Başlatma Komut Dosyasını Ayarlayın

Oyununuzda kimlik doğrulamayı kullanmak için, Unity hizmetlerini ve kimlik doğrulamasını çalışma zamanında başlatmanız gerekir. Aşağıdaki kodu bir C# betiğine (örneğin, AuthenticationManager.cs) ekleyin ve sahnenizdeki bir GameObject'e ekleyin.

using UnityEngine;
using Unity.Services.Core;
using Unity.Services.Authentication;
using System.Threading.Tasks;

public class AuthenticationManager : MonoBehaviour
{
    async void Start()
    {
        await InitializeUnityServicesAsync();
    }

    private async Task InitializeUnityServicesAsync()
    {
        try
        {
            await UnityServices.InitializeAsync();
            Debug.Log("Unity Services initialized successfully.");

            if (!AuthenticationService.Instance.IsSignedIn)
            {
                await SignInAnonymously();
            }
        }
        catch (System.Exception e)
        {
            Debug.LogError($"Error initializing Unity Services: {e.Message}");
        }
    }

    private async Task SignInAnonymously()
    {
        try
        {
            await AuthenticationService.Instance.SignInAnonymouslyAsync();
            Debug.Log("Signed in anonymously.");
        }
        catch (System.Exception e)
        {
            Debug.LogError($"Error signing in anonymously: {e.Message}");
        }
    }
}

Bu script oyun başladığında Unity servislerini başlatır ve kullanıcı henüz giriş yapmamışsa onu anonim olarak oturum açar.

Adım 4: Unity Kimlik Doğrulaması ile Oturum Açmayı Uygulayın

Oyununuzun gereksinimlerine bağlı olarak e-posta veya Google oturum açma gibi belirli oturum açma yöntemleri için seçenekler de sağlayabilirsiniz. Aşağıda Unity Kimlik Doğrulaması ile oturum açmayı nasıl uygulayabileceğinize dair bir örnek verilmiştir.

Örnek: E-posta ve Şifre ile Giriş Yapın

using UnityEngine;
using Unity.Services.Authentication;
using System.Threading.Tasks;

public class AuthenticationManager : MonoBehaviour
{
    async void Start()
    {
        await InitializeUnityServicesAsync();
    }

    private async Task InitializeUnityServicesAsync()
    {
        try
        {
            await UnityServices.InitializeAsync();
            Debug.Log("Unity Services initialized successfully.");
        }
        catch (System.Exception e)
        {
            Debug.LogError($"Error initializing Unity Services: {e.Message}");
        }
    }

    public async Task SignInWithEmailAsync(string email, string password)
    {
        try
        {
            await AuthenticationService.Instance.SignInWithEmailAndPasswordAsync(email, password);
            Debug.Log("Signed in with email successfully.");
        }
        catch (System.Exception e)
        {
            Debug.LogError($"Error signing in with email: {e.Message}");
        }
    }
}

Bu metodu çağırmak için, kullanıcıların e-posta ve şifrelerini girmeleri için Unity içerisinde bir UI formu oluşturun ve ardından bir UI düğmesinin onClick olayından SignInWithEmailAsync fonksiyonunu çağırın.

Adım 5: Çıkış Yapın

Kullanıcı yönetimi için bir oturum kapatma işlevi de uygulamak isteyebilirsiniz. İşte nasıl:

public void SignOut()
{
    AuthenticationService.Instance.SignOut();
    Debug.Log("Signed out successfully.");
}

Kullanıcıyı oyununuzdan çıkarmak istediğinizde bu metodu çağırın.

Çözüm

Unity projenizde Unity Kimlik Doğrulamasının nasıl kurulacağını, başlatma, anonim oturum açma, e-posta oturum açma ve oturum kapatma işlevleri dahil olmak üzere ele aldık. Unity Kimlik Doğrulamasıyla kullanıcılarınızı daha etkili bir şekilde yönetebilir ve oyunlarınızdaki güvenliği artırabilirsiniz. Özel oturum açma sağlayıcıları veya birden fazla kimlik doğrulama yöntemini bağlama gibi daha gelişmiş kurulumlar için resmi Unity belgelerine bakın.