---
title: "React Native SDK'da Observer Mode'da işlemleri raporlama"
description: "React Native 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 manuel olarak raporlamanız gerekir. Analitik hatalarından kaçınmak için bunu uygulamanızı yayınlamadan **önce** ayarlamanız çok önemlidir.

Her işlemi Adapty'nin tanıyabilmesi için `reportTransaction` kullanarak açıkça bildirin.

:::warning

**İşlem raporlamayı atlayın!**
`reportTransaction` çağrısı yapmazsanız Adapty işlemi tanımaz, işlem analitikte görünmez ve entegrasyonlara gönderilmez.

:::

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

```typescript showLineNumbers
const variationId = paywall.variationId;

try {
    await adapty.reportTransaction(transactionId, variationId);
} catch (error) {
    // handle the `AdaptyError`
}
```

Parametreler:

| Parametre     | Zorunluluk | Açıklama                                                  |
| ------------- | ---------- | ---------------------------------------------------------- |
| transactionId | zorunlu    | <ul><li> iOS için: İşlemin tanımlayıcısı.</li><li> Android için: Satın almanın string tanımlayıcısı (`purchase.getOrderId`); burada satın alma, billing kütüphanesi [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir.</li></ul> |
| variationId   | isteğe bağlı | Varyasyonun string tanımlayıcısı. [AdaptyPaywall](https://react-native.adapty.io/interfaces/adaptypaywall) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</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 veya geri yüklemeniz gerekir. Analitik hatalarından kaçınmak için bunu uygulamanızı yayınlamadan **önce** ayarlamanız çok önemlidir.

Her işlemi açıkça bildirmek için her iki platformda da `reportTransaction` kullanın; Adapty'nin işlemi tanıdığından emin olmak için Android'de ek bir adım olarak `restorePurchases` kullanın.

:::warning

**İşlem raporlamayı atlamayın!**
Bu metotları çağırmazsanız Adapty işlemi tanımaz, işlem analitikte görünmez ve entegrasyonlara gönderilmez.

:::

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

```typescript showLineNumbers
if (Platform.OS === 'android') {
    try {
        await adapty.restorePurchases();
    } catch (error) {
        // handle the error
    }
}

...

const variationId = paywall.variationId;

try {
    await adapty.reportTransaction(transactionId, variationId);
} catch (error) {
    // handle the `AdaptyError`
}
```

Parametreler:

| Parametre     | Zorunluluk | Açıklama                                                  |
| ------------- | ---------- | ---------------------------------------------------------- |
| transactionId | zorunlu    | <ul><li> iOS, StoreKit 1 için: bir [SKPaymentTransaction](https://developer.apple.com/documentation/storekit/skpaymenttransaction) nesnesi.</li><li> iOS, StoreKit 2 için: [Transaction](https://developer.apple.com/documentation/storekit/transaction) nesnesi.</li><li> Android için: Satın almanın string tanımlayıcısı (`purchase.getOrderId`); burada satın alma, billing kütüphanesi [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir.</li></ul> |
| variationId   | isteğe bağlı | Varyasyonun string tanımlayıcısı. [AdaptyPaywall](https://react-native.adapty.io/interfaces/adaptypaywall) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

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

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

**İşlemleri raporlama**

- 3.1.x'e kadar olan sürümler App Store'daki işlemleri otomatik olarak dinler, dolayısıyla manuel raporlama gerekmez.
- 3.2 sürümü Observer Mode'u desteklememektedir.

</TabItem> 
<TabItem value="kotlin" label="Android and Android-based cross-platforms" default> 

**İşlemleri raporlama**

Observer Mode'da bir işlemi Adapty'ye raporlamak için `restorePurchases` kullanın; ayrıntılar [Mobil Kodda Satın Almaları Geri Yükleme](react-native-restore-purchase) sayfasında açıklanmaktadır.

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

</TabItem>
</Tabs>

**Paywall'ları işlemlerle ilişkilendirme**

Adapty SDK, satın almaların kaynağını belirleyemez; çünkü bunları siz işliyorsunuzdur. Bu nedenle Observer mode'da paywall ve/veya A/B testi kullanmayı planlıyorsanız, app store'dan gelen işlemi mobil uygulama kodunuzda ilgili paywall ile ilişkilendirmeniz gerekir. Bunu uygulamanızı yayınlamadan önce doğru şekilde ayarlamak önemlidir; aksi takdirde analitikte hatalara yol açar.

```typescript 
const variationId = paywall.variationId;

try {
    await adapty.setVariationId('transactionId', variationId);
} catch (error) {
    // handle the `AdaptyError`
}
```

İstek parametreleri:

| Parametre     | Zorunluluk | Açıklama                                                  |
| ------------- | ---------- | ---------------------------------------------------------- |
| transactionId | zorunlu    | <p>iOS, StoreKit 1 için: bir [SKPaymentTransaction](https://developer.apple.com/documentation/storekit/skpaymenttransaction) nesnesi.</p><p>iOS, StoreKit 2 için: [Transaction](https://developer.apple.com/documentation/storekit/transaction) nesnesi.</p><p>Android için: Satın almanın string tanımlayıcısı (purchase.getOrderId); burada satın alma, billing kütüphanesi [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) sınıfının bir örneğidir.</p> |
| variationId   | zorunlu    | Varyasyonun string tanımlayıcısı. [AdaptyPaywall](https://react-native.adapty.io/interfaces/adaptypaywall) nesnesinin `variationId` özelliği kullanılarak elde edilebilir. |

</TabItem> 
</Tabs>