---
title: "Unity SDK'da kullanıcıları tanımlama"
description: "Unity'de uygulama içi abonelik yönetimi için Adapty kurulum hızlı başlangıç kılavuzu."
---

:::important
Bu kılavuz, kendi kimlik doğrulama sisteminiz varsa size yöneliktir. Burada, mevcut kimlik doğrulama sisteminizle uyumlu olacak şekilde Adapty'deki kullanıcı profilleriyle nasıl çalışacağınızı öğreneceksiniz.
:::

Kullanıcıların satın almalarını nasıl yöneteceğiniz, uygulamanızın kimlik doğrulama modeline bağlıdır:
- Uygulamanız arka uç kimlik doğrulaması kullanmıyorsa ve kullanıcı verilerini depolamıyorsa, [anonim kullanıcılar bölümüne](#anonymous-users) bakın.
- Uygulamanızın arka uç kimlik doğrulaması varsa (veya olacaksa), [tanımlı kullanıcılar bölümüne](#identified-users) bakın.

**Temel kavramlar**:
- **Profiller**, SDK'nın çalışması için gereken varlıklardır. Adapty bunları otomatik olarak oluşturur.
- Anonim **(customer user ID olmadan)** veya tanımlı **(customer user ID ile)** olabilirler.
- Adapty'deki profilleri kendi dahili kimlik doğrulama sisteminizle çapraz referanslamak için **customer user ID** sağlarsınız.

Anonim ve tanımlı kullanıcılar arasındaki farklar şunlardır:

|                         | Anonim kullanıcılar                                   | Tanımlı kullanıcılar                                                             |
|-------------------------|-------------------------------------------------------|----------------------------------------------------------------------------------|
| **Satın alma yönetimi** | Mağaza düzeyinde satın alma geri yükleme              | Customer user ID aracılığıyla cihazlar arası satın alma geçmişini koruma         |
| **Profil yönetimi**     | Her yeniden yüklemede yeni profil                     | Oturumlar ve cihazlar arasında aynı profil                                       |
| **Veri kalıcılığı**     | Anonim kullanıcı verisi uygulama kurulumuna bağlıdır  | Tanımlı kullanıcı verisi uygulama kurulumları arasında kalıcıdır                 |

## Anonim kullanıcılar \{#anonymous-users\}

Arka uç kimlik doğrulamanız yoksa, **uygulama kodunda kimlik doğrulamayı yönetmenize gerek yoktur**:

1. SDK, uygulamanın ilk açılışında etkinleştirildiğinde, Adapty **kullanıcı için yeni bir profil oluşturur**.
2. Kullanıcı uygulamada bir şey satın aldığında, bu satın alma **Adapty profili ve mağaza hesabıyla ilişkilendirilir**.
3. Kullanıcı uygulamayı **yeniden yüklediğinde** veya **yeni bir cihazdan** yüklediğinde, Adapty **etkinleştirmede yeni bir anonim profil oluşturur**.
4. Kullanıcı daha önce uygulamanızda satın alma yapmışsa, varsayılan olarak satın almalar SDK etkinleştirmesinde App Store'dan otomatik olarak senkronize edilir.

Yani anonim kullanıcılarla her kurulumda yeni profil oluşturulur; ancak bu bir sorun değildir çünkü Adapty analizlerinde [yeni kurulum olarak neyin sayılacağını yapılandırabilirsiniz](general#4-installs-definition-for-analytics).

Anonim kullanıcılar için kurulumları **cihaz ID'lerine** göre saymanız gerekir. Bu durumda, yeniden yüklemeler dahil olmak üzere bir cihazdaki her uygulama kurulumu bir yükleme olarak sayılır.

## Tanımlı kullanıcılar \{#identified-users\}

Uygulamadaki kullanıcıları tanımlamak için iki seçeneğiniz var:

- [**Giriş/kayıt sırasında:**](#during-loginsignup) Kullanıcılar uygulamanız başladıktan sonra oturum açıyorsa, kimlik doğruladıklarında customer user ID ile `identify()` çağrısı yapın.

- [**SDK etkinleştirmesi sırasında:**](#during-the-sdk-activation) Uygulama başlatılırken zaten bir customer user ID'niz varsa, `activate()` çağrısı yaparken bunu gönderin.

:::important
Varsayılan olarak, Adapty şu anda başka bir Customer User ID ile ilişkilendirilmiş bir Customer User ID'den satın alma aldığında, access level paylaşılır; yani her iki profil de ücretli erişime sahip olur. Bu ayarı, ücretli erişimi bir profilden diğerine aktaracak veya paylaşımı tamamen devre dışı bırakacak şekilde yapılandırabilirsiniz. Ayrıntılar için [makaleye](general#6-sharing-paid-access-between-user-accounts) bakın.
:::

  <img src="/assets/shared/img/identify-diagram.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

### Giriş/kayıt sırasında \{#during-loginsignup\}

Kullanıcıları uygulama başlatıldıktan sonra tanımlıyorsanız (örneğin, uygulamanıza giriş yaptıktan veya kaydolduktan sonra), customer user ID'yi ayarlamak için `identify` metodunu kullanın.

- Bu customer user ID'yi **daha önce kullanmadıysanız**, Adapty bunu otomatik olarak mevcut profille ilişkilendirir.
- Bu customer user ID'yi **daha önce kullanıcıyı tanımlamak için kullandıysanız**, Adapty bu customer user ID ile ilişkili profille çalışmaya geçer.

:::important
Customer user ID'ler her kullanıcı için benzersiz olmalıdır. Parametre değerini sabit kodlarsanız, tüm kullanıcılar tek bir kullanıcı olarak kabul edilir.
:::

```csharp showLineNumbers
Adapty.Identify("YOUR_USER_ID", (error) => { // Unique for each user
  if(error == null) {
    // successful identify
  }
});
```

### SDK etkinleştirmesi sırasında \{#during-the-sdk-activation\}

SDK'yı etkinleştirdiğinizde zaten bir customer user ID biliyorsanız, ayrıca `identify` çağrısı yapmak yerine bunu `activate` metodunda gönderebilirsiniz.

Customer user ID bilseniz de bunu yalnızca etkinleştirmeden sonra ayarlarsanız, etkinleştirmede Adapty yeni bir anonim profil oluşturur ve yalnızca `identify` çağrısı yaptıktan sonra mevcut profile geçer.

Mevcut bir customer user ID (daha önce kullandığınız) veya yeni bir tane geçirebilirsiniz. Yeni bir tane geçirirseniz, etkinleştirmede oluşturulan yeni profil otomatik olarak customer user ID ile ilişkilendirilir.

:::note
Varsayılan olarak, anonim profil oluşturma analiz kontrol panellerini etkilemez; çünkü kurulumlar cihaz ID'lerine göre sayılır.

Cihaz ID'si, bir cihazda mağazadan yapılan tek bir uygulama kurulumunu temsil eder ve yalnızca uygulama yeniden yüklendikten sonra yeniden oluşturulur.
Bu, birinci veya tekrar kurulum olup olmadığına ya da mevcut bir customer user ID kullanılıp kullanılmadığına bağlı değildir.

Profil oluşturma (SDK etkinleştirmesinde veya çıkışta), oturum açma veya uygulamayı yeniden yüklemeden yükseltme ek kurulum olayı oluşturmaz.

Kurulumları cihazlar yerine benzersiz kullanıcılara göre saymak istiyorsanız, **App settings** bölümüne gidip [**Installs definition for analytics**](general#4-installs-definition-for-analytics) ayarını yapılandırın.
:::

```csharp showLineNumbers
using UnityEngine;
using AdaptySDK;

var builder = new AdaptyConfiguration.Builder("YOUR_API_KEY")
    .SetCustomerUserId("YOUR_USER_ID"); // Customer user IDs must be unique for each user. If you hardcode the parameter value, all users will be considered as one.

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
}); 
```

### Kullanıcı çıkışı \{#log-users-out\}

Kullanıcıların çıkış yapması için bir butonunuz varsa, `logout` metodunu kullanın.

:::important
Kullanıcı çıkışı, kullanıcı için yeni bir anonim profil oluşturur.
:::

```csharp showLineNumbers
Adapty.Logout((error) => {
  if(error == null) {
    // successful logout
  }
});
```

:::info
Kullanıcıları tekrar uygulamaya giriş yaptırmak için `identify` metodunu kullanın.
:::

### Girişsiz satın almalara izin verme \{#allow-purchases-without-login\}

Kullanıcılarınız uygulamanıza giriş yapmadan önce ve sonra satın alma yapabiliyorsa, giriş yaptıktan sonra erişimlerini koruduğunuzdan emin olmanız gerekir:

1. Çıkış yapmış bir kullanıcı satın alma yaptığında, Adapty bunu anonim profil ID'siyle ilişkilendirir.
2. Kullanıcı hesabına giriş yaptığında, Adapty tanımlı profiliyle çalışmaya geçer.
    - Yeni bir customer user ID ise (örneğin, satın alma kayıt öncesinde yapılmışsa), Adapty customer user ID'yi mevcut profile atar; böylece tüm satın alma geçmişi korunur.
    - Mevcut bir customer user ID ise (customer user ID zaten bir profile bağlıysa), profil geçişinden sonra gerçek access level'ı almanız gerekir. Tanımlamadan hemen sonra [`getProfile`](unity-check-subscription-status) çağrısı yapabilir veya veriler otomatik senkronize olması için [profil güncellemelerini dinleyebilirsiniz](unity-check-subscription-status).

## Sonraki adımlar \{#next-steps\}

Tebrikler! Uygulamanızda uygulama içi ödeme mantığını hayata geçirdiniz! Uygulamanızın gelirini artırmanızı diliyoruz!

Adapty'den daha fazla yararlanmak için şu konuları inceleyebilirsiniz:
- [**Test etme**](troubleshooting-test-purchases): Her şeyin beklendiği gibi çalıştığından emin olun
- [**Onboardings**](onboardings): Onboarding'lerle kullanıcıları etkileyin ve elde tutmayı artırın
- [**Entegrasyonlar**](configuration): Tek satır kodla pazarlama attribution ve analiz hizmetleriyle entegre edin
- [**Özel profil öznitelikleri ayarlama**](unity-setting-user-attributes): Kullanıcı profillerine özel öznitelikler ekleyin ve segmentler oluşturun; böylece A/B testleri başlatabilir veya farklı kullanıcılara farklı paywall'lar gösterebilirsiniz