---
title: "Android SDK'da Observer Mode'da işlemleri raporlama"
description: "Android SDK'da kullanıcı içgörüleri ve gelir takibi için Adapty Observer Mode'da satın alma işlemlerini raporlayın."
---

<Tabs groupId="sdk-version" queryString> 

<TabItem value="current" label="Adapty SDK v3.4+ (current)" default> 
Observer mode'da Adapty SDK, mevcut satın alma sisteminiz üzerinden gerçekleştirilen satın almaları kendi başına takip edemez. App store'dan gelen işlemleri kendiniz raporlamanız gerekir. Analizlerdeki hataları önlemek için bunu uygulamanızı yayınlamadan **önce** yapılandırmanız çok önemlidir.

Her işlemi Adapty'nin tanıyabilmesi için `reportTransaction` kullanın.

:::warning

**İşlem raporlamayı atlamayın!**
`reportTransaction` çağrılmazsa Adapty işlemi tanımaz, işlem analizlerde görünmez ve entegrasyonlara gönderilmez.

:::

Adapty paywallları kullanıyorsanız, işlemi raporlarken `variationId` bilgisini de ekleyin. Bu, satın almayı tetikleyen paywall ile ilişkilendirir ve paywall analizlerinin doğru olmasını sağlar.

<Tabs groupId="current-os" queryString>
<TabItem value="kotlin" label="Kotlin" default>

```kotlin showLineNumbers
val transactionInfo = TransactionInfo.fromPurchase(purchase)

Adapty.reportTransaction(transactionInfo, variationId) { result ->
    if (result is AdaptyResult.Success) {
        // success
    }
}
```

Parametreler:

| Parametre       | Zorunluluk | Açıklama                                                  |
| --------------- | ---------- | ---------------------------------------------------------- |
| transactionInfo | zorunlu    | Satın almadan elde edilen TransactionInfo; buradaki satın alma, billing kütüphanesinin [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir. |
| variationId     | isteğe bağlı | Varyantın string tanımlayıcısı. [AdaptyPaywall](https://android.adapty.io/adapty/com.adapty.models/-adapty-paywall/) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</TabItem>
<TabItem value="java" label="Java" default>

```java showLineNumbers
TransactionInfo transactionInfo = TransactionInfo.fromPurchase(purchase);

Adapty.reportTransaction(transactionInfo, variationId, result -> {
    if (result instanceof AdaptyResult.Success) {
        // success
    }
});
```

Parametreler:

| Parametre       | Zorunluluk | Açıklama                                                  |
| --------------- | ---------- | ---------------------------------------------------------- |
| transactionInfo | zorunlu    | Satın almadan elde edilen TransactionInfo; buradaki satın alma, billing kütüphanesinin [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir. |
| variationId     | isteğe bağlı | Varyantın string tanımlayıcısı. [AdaptyPaywall](https://android.adapty.io/adapty/com.adapty.models/-adapty-paywall/) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</TabItem>
</Tabs>
</TabItem>
<TabItem value="old" label="Adapty SDK 3.3.x (legacy)" default> 

Observer mode'da Adapty SDK, mevcut satın alma sisteminiz üzerinden gerçekleştirilen satın almaları kendi başına takip edemez. App store'dan gelen işlemleri raporlamanız ya da geri yüklemeniz gerekir. Analizlerdeki hataları önlemek için bunu uygulamanızı yayınlamadan **önce** yapılandırmanız çok önemlidir.

İşlemi Adapty'ye raporlamak için `restorePurchases` kullanın.

:::warning

**Satın alma geri yüklemeyi atlamayın!**
`restorePurchases` çağrılmazsa Adapty işlemi tanımaz, işlem analizlerde görünmez ve entegrasyonlara gönderilmez.

:::

Adapty paywallları kullanıyorsanız, `setVariationId` metoduyla işleminizi satın almaya yol açan paywall ile ilişkilendirin. Bu, satın almanın tetikleyen paywall'a doğru şekilde atfedilmesini ve analizlerin doğru olmasını sağlar. Bu adım yalnızca Adapty paywalllarını kullanıyorsanız gereklidir.

<Tabs groupId="current-os" queryString>
<TabItem value="kotlin" label="Kotlin" default>

```kotlin showLineNumbers
Adapty.restorePurchases { result ->
    if (result is AdaptyResult.Success) {
        // success
    }
}

Adapty.setVariationId(transactionId, variationId) { error ->
    if (error == null) {
        // success
    }
}
```

Parametreler:

| Parametre     | Zorunluluk | Açıklama                                                  |
| ------------- | ---------- | ---------------------------------------------------------- |
| transactionId | zorunlu    | Satın almanın string tanımlayıcısı (`purchase.getOrderId`); buradaki satın alma, billing kütüphanesinin [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir. |
| variationId   | zorunlu    | Varyantın string tanımlayıcısı. [AdaptyPaywall](https://android.adapty.io/adapty/com.adapty.models/-adapty-paywall/) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</TabItem>
<TabItem value="java" label="Java" default>

```java showLineNumbers
Adapty.restorePurchases(result -> {
    if (result instanceof AdaptyResult.Success) {
        // success
    }
});

Adapty.setVariationId(transactionId, variationId, error -> {
    if (error == null) {
        // success
    }
});
```

Parametreler:

| Parametre     | Zorunluluk | Açıklama                                                  |
| ------------- | ---------- | ---------------------------------------------------------- |
| transactionId | zorunlu    | Satın almanın string tanımlayıcısı (`purchase.getOrderId`); buradaki satın alma, billing kütüphanesinin [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir. |
| variationId   | zorunlu    | Varyantın string tanımlayıcısı. [AdaptyPaywall](https://android.adapty.io/adapty/com.adapty.models/-adapty-paywall/) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</TabItem>
</Tabs>
</TabItem>
<TabItem value="old2" label="Adapty SDK up to 3.2.x (legacy)" default> 

**İşlemleri raporlama**

Observer Mode'da Adapty'ye işlem raporlamak için `restorePurchases` kullanın. Ayrıntılar için [Mobil Kodda Satın Alma Geri Yükleme](android-restore-purchase) sayfasına bakın.

:::warning
**İşlem raporlamayı atlamayın!**
`restorePurchases` çağrılmazsa Adapty işlemi tanımaz, işlem analizlerde görünmez ve entegrasyonlara gönderilmez.
::: 

**Paywallları işlemlerle ilişkilendirme**

Adapty SDK, satın almaları siz yönettiğiniz için satın alma kaynağını belirleyemez. Bu nedenle Observer mode'da paywallları ve/veya A/B testlerini kullanmayı planlıyorsanız, app store'dan gelen işlemi mobil uygulama kodunuzda ilgili paywall ile ilişkilendirmeniz gerekir. Uygulamanızı yayınlamadan önce bunu doğru şekilde yapılandırmanız önemlidir; aksi hâlde analizlerde hatalara yol açar.

<Tabs groupId="current-os" queryString>
<TabItem value="kotlin" label="Kotlin" default>

```kotlin 
Adapty.setVariationId(transactionId, variationId) { error ->
    if (error == null) {
        // success
    }
}
```

İstek parametreleri:

| Parametre     | Zorunluluk | Açıklama                                                  |
| ------------- | ---------- | ---------------------------------------------------------- |
| transactionId | zorunlu    | Satın almanın string tanımlayıcısı (purchase.getOrderId); buradaki satın alma, billing kütüphanesinin [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir. |
| variationId   | zorunlu    | Varyantın string tanımlayıcısı. [AdaptyPaywall](https://android.adapty.io/adapty/com.adapty.models/-adapty-paywall/) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</TabItem>
<TabItem value="java" label="Java" default>

```java 
Adapty.setVariationId(transactionId, variationId, error -> {
    if (error == null) {
        // success
    }
});
```

| Parametre                                         | Zorunluluk | Açıklama                                                  |
| ------------------------------------------------- | ---------- | ---------------------------------------------------------- |
| transactionId                                     | zorunlu    | Satın almanın string tanımlayıcısı (purchase.getOrderId); buradaki satın alma, billing kütüphanesinin [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir. |
| variationId                                       | zorunlu    | Varyantın string tanımlayıcısı. [AdaptyPaywall](https://android.adapty.io/adapty/com.adapty.models/-adapty-paywall/) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</TabItem>
</Tabs>
</TabItem> 
</Tabs>