---
title: "Реализация Observer mode в iOS SDK"
description: "Реализуйте Observer mode в Adapty для отслеживания событий подписки пользователей в iOS SDK."
---

Если у вас уже есть собственная инфраструктура покупок и вы не готовы полностью переходить на Adapty, вы можете воспользоваться [Observer mode](observer-vs-full-mode). В базовом варианте Observer Mode предоставляет расширенную аналитику и бесшовную интеграцию с системами атрибуции и аналитики.

Если этого достаточно для ваших задач, вам нужно только:
1. Включить его при настройке Adapty SDK, установив параметр `observerMode` в `true`.
2. [Передавать транзакции](report-transactions-observer-mode) из вашей существующей инфраструктуры покупок в Adapty.

Если вам также нужны пейволы и A/B-тесты, потребуется дополнительная настройка, описанная ниже.

## Настройка Observer mode \{#observer-mode-setup\}

Включите Observer mode, если вы самостоятельно обрабатываете покупки и статус подписки и используете Adapty для отправки событий подписки и аналитики.

:::important
При работе в Observer mode Adapty SDK не закрывает транзакции, поэтому убедитесь, что вы обрабатываете их самостоятельно.
:::

<Tabs groupId="current-os" queryString>
<TabItem value="swiftui" label="SwiftUI">

```swift showLineNumbers

@main
struct YourApp: App {
  init() {
    // Configure Adapty SDK
    let configurationBuilder = AdaptyConfiguration
      .builder(withAPIKey: "YOUR_PUBLIC_SDK_KEY") // Get from Adapty dashboard
      .with(observerMode: true) 
      
    let config = configurationBuilder.build()
    
    // Activate Adapty SDK asynchronously
    Task {
      do {
        try await Adapty.activate(with: configurationBuilder)
      } catch {
        // Handle error appropriately for your app
        print("Adapty activation failed: ", error)
      }
    }
    
    var body: some Scene {
      WindowGroup {
        // Your content view
      }
    }
  }
}
```

</TabItem>
<TabItem value="swift" label="UIKit" default>

```swift showLineNumbers

Task {
  do {
    let configurationBuilder = AdaptyConfiguration
      .builder(withAPIKey: "YOUR_PUBLIC_SDK_KEY") // Get from Adapty dashboard
      .with(observerMode: true) 
    
    let config = configurationBuilder.build()
    try await Adapty.activate(with: config)
  } catch {
    // Handle error appropriately for your app
    print("Adapty activation failed: ", error)
  }
}

```

</TabItem>
</Tabs>

Параметры:

| Параметр                    | Описание                                                     |
| --------------------------- | ------------------------------------------------------------ |
| observerMode                | Булево значение, управляющее [Observer mode](observer-vs-full-mode). Значение по умолчанию — `false`. |

## Использование пейволов Adapty в Observer Mode \{#using-adapty-paywalls-in-observer-mode\}

Если вы хотите также использовать пейволы и A/B-тесты Adapty, это возможно — но в Observer mode потребуется дополнительная настройка. Вот что нужно сделать в дополнение к шагам выше:

1. Отображайте пейволы как обычно для [пейволов на основе Remote Config](present-remote-config-paywalls). Для пейволов на основе Paywall Builder следуйте специальным гайдам для [iOS](ios-present-paywall-builder-paywalls-in-observer-mode).
3. [Свяжите пейволы](report-transactions-observer-mode) с транзакциями покупок.