---
title: "iOS SDK'da kullanıcıları tanımlama"
description: "Kişiselleştirilmiş abonelik deneyimlerini iyileştirmek için Adapty'de kullanıcıları tanımlayın."
---

Adapty, her kullanıcı için dahili bir profil ID'si oluşturur. Ancak kendi kimlik doğrulama sisteminiz varsa, kendi Customer User ID'nizi ayarlamanız gerekir. Kullanıcıları Customer User ID'leriyle [Profiles](profiles-crm) bölümünde bulabilir ve tüm entegrasyonlara gönderilecek olan [server-side API](getting-started-with-server-side-api)'de kullanabilirsiniz.

## Yapılandırma sırasında customer user ID'yi ayarlama \{#set-customer-user-id-on-configuration\}

Yapılandırma sırasında kullanıcı ID'niz varsa, bunu `.activate()` metoduna `customerUserId` parametresi olarak geçmeniz yeterlidir:

<Tabs groupId="current-os" queryString>
<TabItem value="swift" label="Swift" default>

```swift showLineNumbers
// In your AppDelegate class:

let configurationBuilder =
    AdaptyConfiguration
        .builder(withAPIKey: "PUBLIC_SDK_KEY")
        .with(customerUserId: "YOUR_USER_ID")

do {
  try await Adapty.activate(with: configurationBuilder.build())
} catch {
  // handle the error
}
```
</TabItem>

<TabItem value="swift-callback" label="Swift-Callback" default>

```swift showLineNumbers
// In your AppDelegate class:

let configurationBuilder =
    AdaptyConfiguration
        .builder(withAPIKey: "PUBLIC_SDK_KEY")
        .with(customerUserId: "YOUR_USER_ID")

Adapty.activate(with: configurationBuilder.build()) { error in
  // handle the error
}
```

</TabItem>

</Tabs>

:::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.

:::

## Yapılandırma sonrasında customer user ID'yi ayarlama \{#set-customer-user-id-after-configuration\}

SDK yapılandırması sırasında kullanıcı ID'niz yoksa, istediğiniz zaman `.identify()` metoduyla sonradan ayarlayabilirsiniz. Bu metodun en yaygın kullanım durumları, kayıt veya giriş sonrasında kullanıcının anonim kullanıcıdan kimliği doğrulanmış kullanıcıya geçişidir.

<Tabs groupId="current-os" queryString>
<TabItem value="swift" label="Swift" default>

```swift showLineNumbers
do {
    try await Adapty.identify("YOUR_USER_ID")
} catch {
    // handle the error
}
```
</TabItem>
<TabItem value="swift-callback" label="Swift-Callback" default>

```swift showLineNumbers
Adapty.identify("YOUR_USER_ID") { error in
    if let error {
        // handle the error
    }
}
```
</TabItem>
</Tabs>

İstek parametreleri:

- **Customer User ID** (zorunlu): Bir string kullanıcı tanımlayıcısı.

:::warning
Önemli kullanıcı verilerinin yeniden gönderilmesi

Kullanıcının hesabına tekrar giriş yapması gibi bazı durumlarda, Adapty'nin sunucuları o kullanıcı hakkında zaten bilgiye sahip olabilir. Bu senaryolarda Adapty SDK'sı otomatik olarak yeni kullanıcıyla çalışmaya geçer. Anonim kullanıcıya özel özellikler veya üçüncü taraf ağlardan attribution verileri gibi herhangi bir veri aktardıysanız, bu verileri tanımlanan kullanıcı için yeniden göndermeniz gerekir.

Ayrıca, yeni kullanıcının verileri farklı olabileceğinden, kullanıcıyı tanımladıktan sonra tüm paywall'ları ve ürünleri yeniden talep etmeniz gerektiğini unutmayın.
:::

## Çıkış yapma ve giriş yapma \{#logging-out-and-logging-in\}

`.logout()` metodunu çağırarak istediğiniz zaman kullanıcının oturumunu kapatabilirsiniz:

<Tabs groupId="current-os" queryString>
<TabItem value="swift" label="Swift" default>

```swift showLineNumbers
do {
    try await Adapty.logout()
} catch {
    // handle the error
}
```
</TabItem>
<TabItem value="swift-callback" label="Swift-Callback" default>

```swift showLineNumbers
Adapty.logout { error in
    if error == nil {
        // successful logout
    }
}
```
</TabItem>
</Tabs>

Ardından `.identify()` metodunu kullanarak kullanıcının oturumunu açabilirsiniz.

## appAccountToken'ı ayarlama \{#set-appaccounttoken\}

[`appAccountToken`](https://developer.apple.com/documentation/storekit/product/purchaseoption/appaccounttoken(_:)), Apple'ın StoreKit 2'nin kullanıcıları uygulama yüklemeleri ve cihazlar genelinde tanımlamasına yardımcı olan bir UUID'dir.

Adapty iOS SDK 3.10.2 sürümünden itibaren, SDK'yı yapılandırırken veya bir kullanıcıyı tanımlarken `appAccountToken` değerini geçebilirsiniz:

<Tabs groupId="current-os" queryString>
<TabItem value="swift" label="Swift" default>

```swift showLineNumbers
// During configuration:
let configurationBuilder =
    AdaptyConfiguration
        .builder(withAPIKey: "PUBLIC_SDK_KEY")
        .with(customerUserId: "YOUR_USER_ID", withAppAccountToken: UUID())

do {
  try await Adapty.activate(with: configurationBuilder.build())
} catch {
  // handle the error
}

// Or when identifying a user:
do {
    try await Adapty.identify("YOUR_USER_ID", withAppAccountToken: UUID())
} catch {
    // handle the error
}
```
</TabItem>

<TabItem value="swift-callback" label="Swift-Callback" default>

```swift showLineNumbers
// During configuration:
let configurationBuilder =
    AdaptyConfiguration
        .builder(withAPIKey: "PUBLIC_SDK_KEY")
        .with(customerUserId: "YOUR_USER_ID", withAppAccountToken: UUID())

Adapty.activate(with: configurationBuilder.build()) { error in
  // handle the error
}

// Or when identifying a user:
Adapty.identify("YOUR_USER_ID", withAppAccountToken: UUID()) { error in
    if let error {
        // handle the error
    }
}
```
</TabItem>
</Tabs>

Ardından `.identify()` metodunu kullanarak kullanıcının oturumunu açabilirsiniz.