---
title: "Capacitor SDK'da kullanıcıları tanımlama"
description: "Adapty SDK ile Capacitor uygulamanızda kullanıcıları nasıl tanımlayacağınızı öğrenin."
---

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 belirlemeniz gerekir. Kullanıcıları Customer User ID'lerine göre [Profiller](profiles-crm) bölümünde bulabilir ve [sunucu taraflı API](getting-started-with-server-side-api)'de kullanabilirsiniz; bu ID tüm entegrasyonlara gönderilecektir.

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

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

```typescript showLineNumbers

try {
  await adapty.activate({
    apiKey: 'YOUR_PUBLIC_SDK_KEY',
    params: {
      customerUserId: 'YOUR_USER_ID'
    }
  });
} catch (error) {
  console.error('Failed to activate Adapty:', error);
}
```

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

SDK yapılandırması sırasında bir kullanıcı ID'niz yoksa, daha sonra istediğiniz zaman `.identify()` metoduyla belirleyebilirsiniz. Bu metodun en yaygın kullanım senaryoları, kayıt veya giriş sonrasında kullanıcının anonim olmaktan çıkıp kimliği doğrulanmış bir kullanıcıya geçtiği anlardır.

```typescript showLineNumbers

try {
  await adapty.identify({ customerUserId: 'YOUR_USER_ID' });
  console.log('User identified successfully');
} catch (error) {
  console.error('Failed to identify user:', error);
}
```

İstek parametreleri:

| Parametre | Zorunluluk | Açıklama |
|---------|--------|-----------|
| **customerUserId** | zorunlu | Bir string kullanıcı tanımlayıcısı. |

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

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

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

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

Kullanıcıyı istediğiniz zaman `.logout()` metodunu çağırarak çıkışa zorlayabilirsiniz:

```typescript showLineNumbers

try {
  await adapty.logout();
  console.log('User logged out successfully');
} catch (error) {
  console.error('Failed to logout user:', error);
}
```

Ardından `.identify()` metodunu kullanarak kullanıcı girişi yapabilirsiniz.

## `appAccountToken` atama (iOS) \{#assign-appaccounttoken-ios\}

[`appAccountToken`](https://developer.apple.com/documentation/storekit/product/purchaseoption/appaccounttoken(_:)), App Store işlemlerini dahili kullanıcı kimliğinizle ilişkilendirmenizi sağlayan bir **UUID**'dir.  
StoreKit bu token'ı her işlemle ilişkilendirir; böylece backend'iniz App Store verilerini kullanıcılarınızla eşleştirebilir.

Kullanıcı başına oluşturulan kararlı bir UUID kullanın ve aynı hesap için farklı cihazlarda da aynı UUID'yi yeniden kullanın.
Bu sayede satın almalar ve App Store bildirimleri doğru şekilde ilişkilendirilmiş olur.

Token'ı iki şekilde ayarlayabilirsiniz: SDK aktivasyonu sırasında veya kullanıcıyı tanımlarken.

:::important
`appAccountToken`'ı her zaman `customerUserId` ile birlikte geçirmelisiniz.
Yalnızca token'ı geçerseniz, işleme dahil edilmez.
:::

```typescript showLineNumbers
// During configuration:
await adapty.activate({
    apiKey: 'YOUR_PUBLIC_SDK_KEY',
    params: {
        customerUserId: 'YOUR_USER_ID',
        ios: { appAccountToken: "YOUR_APP_ACCOUNT_TOKEN" },
    }
});
// Or when identifying users
await adapty.identify({
    customerUserId: 'YOUR_USER_ID',
    params: {
        ios: { appAccountToken: 'YOUR_APP_ACCOUNT_TOKEN' },
    }
});
```

### Gizlenmiş hesap ID'lerini ayarlama (Android) \{#set-obfuscated-account-ids-android\}

Google Play, kullanıcı gizliliğini ve güvenliğini artırmak amacıyla belirli kullanım senaryolarında gizlenmiş hesap ID'leri gerektirir. Bu ID'ler, Google Play'in kullanıcı bilgilerini anonim tutarken satın almaları tanımlamasına yardımcı olur; bu durum özellikle sahtekarlık önleme ve analitik açısından önem taşır.

Uygulamanız hassas kullanıcı verisi işliyorsa veya belirli gizlilik düzenlemelerine uymak zorundaysanız bu ID'leri ayarlamanız gerekebilir. Gizlenmiş ID'ler, Google Play'in gerçek kullanıcı tanımlayıcılarını açığa çıkarmadan satın almaları takip etmesine olanak tanır.

```typescript showLineNumbers
// During configuration:
await adapty.activate({
  apiKey: 'YOUR_PUBLIC_SDK_KEY',
  params: {
    android: { obfuscatedAccountId: 'YOUR_OBFUSCATED_ACCOUNT_ID' },
  }
});
// Or when identifying users
await adapty.identify({
    customerUserId: 'YOUR_USER_ID',
    params: {
        android: { obfuscatedAccountId: 'YOUR_OBFUSCATED_ACCOUNT_ID' },
    }
});
```