---
title: "Amplitude"
description: "Daha iyi kullanıcı davranışı içgörüleri için Amplitude'ü Adapty ile entegre edin."
---

[Amplitude](https://amplitude.com/), güçlü bir mobil analiz hizmetidir. Adapty ile Amplitude'e kolayca event gönderebilir, kullanıcıların nasıl davrandığını görebilir ve akıllı kararlar alabilirsiniz.

Adapty, mağazalardan gelen [abonelik eventlerini](events) tek bir yerden takip etmenizi sağlayan eksiksiz bir veri seti sunar ve bunu Amplitude hesabınıza iletir. Bu sayede kullanıcı davranışlarını Amplitude'deki ödeme geçmişleriyle eşleştirerek ürün kararlarınızı daha sağlam temellere oturtabilirsiniz.

### Amplitude entegrasyonu nasıl kurulur \{#how-to-set-up-amplitude-integration\}

Adapty'de Apple veya Stripe sandbox ortamından ya da Google test hesabından gelen **production** ve **test eventleri** için ayrı akışlar oluşturabilirsiniz.

- Production eventleri için Amplitude kontrol panelindeki **Production** API anahtarlarını girin; iOS, Android ve Stripe için ayrı birer API anahtarı kullanın.
- Test eventleri için gerektiğinde **Sandbox** alanlarını kullanın.

Amplitude entegrasyonunu kurmak için:

1. Adapty Kontrol Paneli'nde [**Integrations** -> **Amplitude**](https://app.adapty.io/integrations/amplitude) sayfasını açın.

  <img src="/assets/shared/img/3b50552-CleanShot_2023-08-15_at_16.47.102x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

2. **Amplitude integration** seçeneğini açık konuma getirerek etkinleştirin.

3. Entegrasyon alanlarını doldurun:

    | Alan | Açıklama |
    | ------------------------------------------ | ------------------------------------------------------------ |
    | **Amplitude iOS/ Android/ Stripe API key** | iOS/ Android/ Stripe için Amplitude **API Key**'ini Adapty'ye girin. Amplitude'de **Project settings** bölümünden bulabilirsiniz. Yardım için [Amplitude belgelerine](https://amplitude.com/docs/apis/authentication) bakın. Önce test için **Sandbox** anahtarlarıyla başlayın, testler başarılı olduktan sonra **Production** anahtarlarına geçin. |

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

4. Daha fazla özelleştirme için isteğe bağlı ayarlar:

   | Parametre | Açıklama |
   | --------------------------------------- | ------------------------------------------------------------ |
   | **How the revenue data should be sent** | Brüt geliri mi yoksa vergi ve komisyon düşüldükten sonraki geliri mi göndereceğinizi seçin. Ayrıntılar için [Mağaza komisyonu ve vergiler](controls-filters-grouping-compare-proceeds#store-commission-and-taxes) bölümüne bakın. |
   | **Exclude historical events** | Adapty SDK kurulumundan önceki eventleri hariç tutarak yinelenen verileri önleyin. Örneğin, bir kullanıcı 10 Ocak'ta abone olmuş ancak Adapty SDK'yı 6 Mart'ta kurmuşsa Adapty yalnızca 6 Mart'tan itibaren olan eventleri gönderir. |
   | **Send User Attributes** | Dil tercihleri gibi kullanıcıya özgü nitelikleri göndermek için bu seçeneği işaretleyin. |
   | **Always populate user_id** | Adapty, `device_id`'yi otomatik olarak `amplitudeDeviceId` olarak gönderir. `user_id` için bu ayar şu davranışı belirler: <ul><li>**ON**: `amplitudeUserId` veya `customer_user_id` mevcut değilse Adapty `profile_id`'sini gönderir.</li><li>**OFF**: Hiçbir ID mevcut değilse `user_id` boş bırakılır.</li></ul> |

5. Almak istediğiniz eventleri seçin ve [isimlerini eşleştirin](amplitude#events-and-tags).

6. Değişikliklerinizi kaydetmek için **Save**'e tıklayın.

**Save**'e tıkladıktan sonra Adapty, Amplitude'e event göndermeye başlar.

Eventlere ek olarak Adapty, [abonelik durumunu](subscription-status) ve abonelik ürün ID'sini [Amplitude kullanıcı özelliklerine](https://amplitude.com/docs/data/user-properties-and-events) gönderir.

### Eventler ve etiketler \{#events-and-tags\}

Kimlik bilgilerinin altında, Adapty'den Amplitude'e gönderebileceğiniz üç grup event bulunur. İhtiyacınız olanları açmanız yeterli. Adapty'nin sunduğu eventlerin tam listesine [buradan](events) ulaşabilirsiniz.

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

Adapty'nin sunduğu varsayılan event isimlerini kullanmanızı öneririz. Ancak ihtiyaçlarınıza göre event isimlerini değiştirebilirsiniz. Adapty, abonelik eventlerini sunucudan sunucuya entegrasyon aracılığıyla Amplitude'e gönderir; böylece tüm abonelik eventlerini Amplitude kontrol panelinizde görüntüleyebilirsiniz.

### SDK yapılandırması \{#sdk-configuration\}

`amplitude_device_id` parametresini ayarlamak için `setIntegrationIdentifier()` metodunu kullanın. Bu, entegrasyonu kurmanın zorunlu bir adımıdır.

Kullanıcı kaydınız varsa `amplitude_user_id` parametresini de iletebilirsiniz.

---
no_index: true
---
import Callout from '../../../components/Callout.astro';

<Callout type="note">
Üçüncü taraf bir kullanıcı kimliğini Customer User ID olarak kullanıyorsanız, bunu `activate()` sırasında geçirmeyin — üçüncü taraf SDK henüz bu kimliği oluşturmamış olabilir. Bunun yerine önce CUID olmadan `activate()` çağrısı yapın, ardından `setIntegrationIdentifier()` ve son olarak CUID ile `identify()` çağrısını gerçekleştirin.
</Callout>

<Tabs groupId="current-os" queryString>
<TabItem value="Swift" label="iOS (Swift)" default>

**amplitudeDeviceId ayarlama**

```swift showLineNumbers

do {
    try await Adapty.setIntegrationIdentifier(
        key: "amplitude_device_id", 
        value: Amplitude.instance().deviceId
    )
} catch {
    // handle the error
}
```

**amplitudeUserId ayarlama**

```swift showLineNumbers

do {
    try await Adapty.setIntegrationIdentifier(
        key: "amplitude_user_id", 
        value: "YOUR_AMPLITUDE_USER_ID"
    )
} catch {
    // handle the error
}
```

</TabItem>
<TabItem value="kotlin" label="Android (Kotlin)" default>

**amplitudeDeviceId ayarlama**

```kotlin showLineNumbers 
//for Amplitude maintenance SDK (obsolete)
val amplitude = Amplitude.getInstance()
val amplitudeDeviceId = amplitude.getDeviceId()
val amplitudeUserId = amplitude.getUserId()

//for actual Amplitude Kotlin SDK
val amplitude = Amplitude(
    Configuration(
        apiKey = AMPLITUDE_API_KEY,
        context = applicationContext
    )
)
val amplitudeDeviceId = amplitude.store.deviceId

//

Adapty.setIntegrationIdentifier("amplitude_device_id", amplitudeDeviceId) { error ->
    if (error != null) {
        // handle the error
    }
}
```

**amplitudeUserId ayarlama**

```kotlin showLineNumbers
//for Amplitude maintenance SDK (obsolete)
val amplitude = Amplitude.getInstance()
val amplitudeDeviceId = amplitude.getDeviceId()
val amplitudeUserId = amplitude.getUserId()

//for actual Amplitude Kotlin SDK
val amplitude = Amplitude(
    Configuration(
        apiKey = AMPLITUDE_API_KEY,
        context = applicationContext
    )
)
val amplitudeUserId = amplitude.store.userId

//

Adapty.setIntegrationIdentifier("amplitude_user_id", amplitudeUserId) { error ->
    if (error != null) {
        // handle the error
    }
}
```

</TabItem>
<TabItem value="Flutter" label="Flutter (Dart)" default>

**amplitudeDeviceId ayarlama**

```javascript showLineNumbers

final Amplitude amplitude = Amplitude.getInstance(instanceName: "YOUR_INSTANCE_NAME");

try {
    await Adapty().setIntegrationIdentifier(
        key: "amplitude_device_id", 
        value: amplitude.getDeviceId(),
    );
} on AdaptyError catch (adaptyError) {
    // handle the error
} catch (e) {
    // handle the error
}
```

**amplitudeUserId ayarlama**

```javascript showLineNumbers

final Amplitude amplitude = Amplitude.getInstance(instanceName: "YOUR_INSTANCE_NAME");

try {
    await Adapty().setIntegrationIdentifier(
        key: "amplitude_user_id", 
        value: "YOUR_AMPLITUDE_USER_ID",
    );
} on AdaptyError catch (adaptyError) {
    // handle the error
} catch (e) {
    // handle the error
}
```

</TabItem>
<TabItem value="Unity" label="Unity (C#)" default>

**amplitudeDeviceId ayarlama**

```csharp showLineNumbers
using AdaptySDK;

Adapty.SetIntegrationIdentifier(
  "amplitude_device_id", 
  amplitude.getDeviceId(), 
  (error) => {
  // handle the error
});
```

**amplitudeUserId ayarlama**

```csharp showLineNumbers
using AdaptySDK;

Adapty.SetIntegrationIdentifier(
  "amplitude_user_id", 
  "YOUR_AMPLITUDE_USER_ID", 
  (error) => {
  // handle the error
});
```

</TabItem>
<TabItem value="rn" label="React Native (TS)" default>

**amplitudeDeviceId ayarlama**

```typescript showLineNumbers

try {
  await adapty.setIntegrationIdentifier("amplitude_device_id", deviceId);
} catch (error) {
  // handle `AdaptyError`
}
```

**amplitudeUserId ayarlama**

```typescript showLineNumbers

try {
  await adapty.setIntegrationIdentifier("amplitude_user_id", userId);
} catch (error) {
  // handle `AdaptyError`
}
```

</TabItem>
</Tabs>

## Amplitude event yapısı \{#amplitude-event-structure\}

Adapty, eventleri Amplitude'e HTTP API v2 aracılığıyla gönderir. Her event şu şekilde yapılandırılmıştır:

```json
{
  "api_key": "your_amplitude_api_key",
  "events": [
    {
      "partner_id": "adapty",
      "event_type": "subscription_renewed",
      "time": 1709294400000,
      "insert_id": "123e4567-e89b-12d3-a456-426614174000",
      "user_id": "user_12345",
      "device_id": "device_12345",
      "platform": "iOS",
      "os_name": "iOS",
      "productId": "yearly.premium.6999",
      "revenue": 9.99,
      "event_properties": {
        "vendor_product_id": "yearly.premium.6999",
        "original_transaction_id": "GPA.3383...",
        "currency": "USD",
        "environment": "Production",
        "store": "app_store"
      },
      "user_properties": {
        "subscription_state": "subscribed",
        "subscription_product": "yearly.premium.6999"
      }
    }
  ]
}
```

Parametreler:

| Parametre | Tür | Açıklama |
|:----------------------------|:-------|:---------------------------------------------------------------------|
| `api_key` | String | Amplitude API Anahtarınız. |
| `events` | Array | Event nesnelerinin listesi (Adapty bir seferde bir tane gönderir). |
| `events[].partner_id` | String | Her zaman "adapty". |
| `events[].event_type` | String | Event adı (Adapty eventinden eşlenen). |
| `events[].time` | Long | Eventin milisaniye cinsinden zaman damgası. |
| `events[].insert_id` | String | Benzersiz event ID'si (UUID). |
| `events[].user_id` | String | Amplitude Kullanıcı ID'si veya Müşteri Kullanıcı ID'si. |
| `events[].device_id` | String | Amplitude Cihaz ID'si. |
| `events[].platform` | String | Platform (örn. "iOS", "Android"). |
| `events[].os_name` | String | İşletim sistemi adı. |
| `events[].productId` | String | Mağazadaki Ürün ID'si. |
| `events[].revenue` | Float | Gelir tutarı. |
| `events[].event_properties` | Object | Ayrıntılı event nitelikleri (mevcut tüm [event alanlarını](webhook-event-types-and-fields#for-most-event-types) içerir). |
| `events[].user_properties` | Object | Abonelik durumu gibi kullanıcı nitelikleri. |