---
title: "Déclarer les transactions en Observer Mode dans le SDK iOS"
description: "Déclarez les transactions d'achat en Observer Mode d'Adapty pour obtenir des informations sur les utilisateurs et suivre les revenus dans le SDK iOS."
---

<Tabs groupId="sdk-version" queryString> 

<TabItem value="current" label="Adapty SDK v3.4+ (current)" default> 
En Observer Mode, le SDK Adapty ne peut pas suivre automatiquement les achats effectués via votre système d'achat existant. Vous devez déclarer les transactions depuis votre app store. Il est indispensable de mettre cela en place **avant** de publier votre application pour éviter des erreurs dans les analyses.

Utilisez `reportTransaction` pour déclarer explicitement chaque transaction afin qu'Adapty puisse la reconnaître.

:::warning

**Ne sautez pas la déclaration des transactions !**
Si vous n'appelez pas `reportTransaction`, Adapty ne reconnaîtra pas la transaction, elle n'apparaîtra pas dans les analyses et ne sera pas envoyée aux intégrations.

:::

Si vous utilisez des paywalls Adapty, incluez le `variationId` lors de la déclaration d'une transaction. Cela relie l'achat au paywall qui l'a déclenché, garantissant ainsi des analyses de paywall précises.

```swift showLineNumbers
do {
    // every time when calling transasction.finish()
    try await Adapty.reportTransaction(transaction, withVariationId: <YOUR_PAYWALL_VARIATION_ID>)
} catch {
    // handle the error
}
```

Paramètres :

| Paramètre       | Présence   | Description                                                  |
| --------------- | ---------- | ------------------------------------------------------------ |
| **transaction** | obligatoire | <ul><li> Pour StoreKit 1 : SKPaymentTransaction.</li><li> Pour StoreKit 2 : Transaction.</li></ul> |
| **variationId** | optionnel  | L'identifiant unique de la variante du paywall. Récupérez-le depuis la propriété `variationId` de l'objet [AdaptyPaywall](https://swift.adapty.io/documentation/adapty/adaptypaywall). |

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

En Observer Mode, le SDK Adapty ne peut pas suivre automatiquement les achats effectués via votre système d'achat existant. Vous devez déclarer les transactions depuis votre app store ou les restaurer. Il est indispensable de mettre cela en place **avant** de publier votre application pour éviter des erreurs dans les analyses.

Utilisez `reportTransaction` pour envoyer les données de transaction à Adapty.

:::warning

**Ne sautez pas la déclaration des transactions !**
Si vous n'appelez pas `reportTransaction`, Adapty ne reconnaîtra pas la transaction, elle n'apparaîtra pas dans les analyses et ne sera pas envoyée aux intégrations.

:::

Si vous utilisez des paywalls Adapty, incluez le `withVariationId` lors de la déclaration d'une transaction. Cela relie l'achat au paywall qui l'a déclenché, garantissant ainsi des analyses de paywall précises.

```swift showLineNumbers
do {
    // every time when calling transasction.finish()
    try await Adapty.reportTransaction(transaction, withVariationId: <YOUR_PAYWALL_VARIATION_ID>)
} catch {
    // handle the error
}
```

Paramètres :

| Paramètre       | Présence   | Description                                                  |
| --------------- | ---------- | ------------------------------------------------------------ |
| **transaction** | obligatoire | <ul><li> Pour StoreKit 1 : SKPaymentTransaction.</li><li> Pour StoreKit 2 : Transaction.</li></ul> |
| **variationId** | optionnel  | L'identifiant unique de la variante du paywall. Récupérez-le depuis la propriété `variationId` de l'objet [AdaptyPaywall](https://swift.adapty.io/documentation/adapty/adaptypaywall). |

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

**Déclaration des transactions**

- Les versions jusqu'à 3.1.x écoutent automatiquement les transactions dans l'App Store, la déclaration manuelle n'est donc pas nécessaire.
- La version 3.2 ne prend pas en charge l'Observer Mode.

**Association des paywalls aux transactions**

Le SDK Adapty ne peut pas déterminer la source des achats, car c'est vous qui les traitez. Par conséquent, si vous comptez utiliser des paywalls et/ou des tests A/B en Observer Mode, vous devez associer la transaction provenant de votre app store au paywall correspondant dans le code de votre application mobile. Il est important de le faire correctement avant de publier votre application, sinon cela entraînera des erreurs dans les analyses.

```swift 
let variationId = paywall.variationId
// There are two overloads: for StoreKit 1 and StoreKit 2
Adapty.setVariationId(variationId, forPurchasedTransaction: transactionId) { error in
    if error == nil {
        // successful binding
    }    
}
```

Paramètres de la requête :

| Paramètre     | Présence   | Description                                                  |
| ------------- | ---------- | ------------------------------------------------------------ |
| variationId   | obligatoire | L'identifiant de chaîne de la variante. Vous pouvez l'obtenir via la propriété `variationId` de l'objet [AdaptyPaywall](https://swift.adapty.io/documentation/adapty/adaptypaywall). |
| transactionId | obligatoire | <p>Pour StoreKit 1 : un objet [SKPaymentTransaction](https://developer.apple.com/documentation/storekit/skpaymenttransaction).</p><p>Pour StoreKit 2 : un objet [Transaction](https://developer.apple.com/documentation/storekit/transaction).</p> |

</TabItem> 
</Tabs>