---
title: "Unity SDK'da kullanıcı nitelikleri ayarlama"
description: "Adapty SDK ile Unity uygulamanızda kullanıcı niteliklerini ve profil verilerini nasıl güncelleyeceğinizi öğrenin."
---

Uygulamanızın kullanıcısına e-posta, telefon numarası gibi isteğe bağlı nitelikler ekleyebilirsiniz. Bu nitelikleri kullanarak kullanıcı [segmentleri](segments) oluşturabilir ya da bunları CRM'de görüntüleyebilirsiniz.

### Kullanıcı niteliklerini ayarlama \{#setting-user-attributes\}

Kullanıcı niteliklerini ayarlamak için `.updateProfile()` metodunu çağırın:

```csharp showLineNumbers
var builder = new Adapty.ProfileParameters.Builder()
        .SetFirstName("John")
        .SetLastName("Appleseed")
        .SetBirthday(new DateTime(1970, 1, 3))
        .SetGender(ProfileGender.Female)
        .SetEmail("example@adapty.io");

Adapty.UpdateProfile(builder.Build(), (error) => {
    if(error != nil) {
        // handle the error                        
    }
});
```

`updateProfile` metoduyla daha önce ayarladığınız niteliklerin sıfırlanmayacağını unutmayın.

:::tip

Adapty SDK'nın bir mobil uygulamaya nasıl entegre edildiğini gerçek bir örnekle görmek ister misiniz? Tam kurulumu, paywall'ların gösterimini, satın alma işlemlerini ve diğer temel işlevleri içeren [örnek uygulamalarımıza](sample-apps) göz atın.

:::

### İzin verilen anahtarlar listesi \{#the-allowed-keys-list\}

`AdaptyProfileParameters.Builder` için izin verilen `<Key>` anahtarları ve `<Value>` değerleri aşağıda listelenmiştir:

| Anahtar | Değer |
|---|-----|
| <p>email</p><p>phoneNumber</p><p>firstName</p><p>lastName</p> | String |
| gender | Enum, izin verilen değerler: `female`, `male`, `other` |
| birthday | Date |

### Özel kullanıcı nitelikleri \{#custom-user-attributes\}

Kendi özel niteliklerinizi tanımlayabilirsiniz. Bunlar genellikle uygulamanızın kullanım şekliyle ilgilidir. Örneğin fitness uygulamaları için haftalık egzersiz sayısı, dil öğrenme uygulamaları için kullanıcının bilgi seviyesi gibi. Bu nitelikleri segmentlerde kullanarak hedefli paywall'lar ve teklifler oluşturabilir; hangi ürün metriklerinin geliri en çok etkilediğini anlamak için de analizlerde kullanabilirsiniz.

```csharp showLineNumbers
try {
    builder = builder.SetCustomStringAttribute("string_key", "string_value");
    builder = builder.SetCustomDoubleAttribute("double_key", 123.0f);
} catch (Exception e) {
    // handle the exception
}
```

Mevcut bir anahtarı kaldırmak için `.withRemoved(customAttributeForKey:)` metodunu kullanın:

```csharp showLineNumbers
try {
    builder = builder.RemoveCustomAttribute("key_to_remove");
} catch (Exception e) {
    // handle the exception
}
```

Bazen daha önce hangi özel niteliklerin yüklendiğini öğrenmek gerekebilir. Bunun için `AdaptyProfile` nesnesinin `customAttributes` alanını kullanın.

:::warning
`customAttributes` değerinin güncel olmayabileceğini unutmayın; kullanıcı nitelikleri farklı cihazlardan herhangi bir zamanda gönderilebileceğinden, son senkronizasyondan bu yana sunucudaki nitelikler değişmiş olabilir.
:::

### Sınırlar \{#limits\}

- Kullanıcı başına en fazla 30 özel nitelik
- Anahtar adları en fazla 30 karakter uzunluğunda olabilir. Anahtar adı alfanümerik karakterler ve şunlardan herhangi birini içerebilir: `_`  `-` `.`
- Değer, en fazla 50 karakterden oluşan bir string veya float olabilir.