---
title: "在 Unity SDK 中实现观察者模式"
description: "在 Adapty 中实现观察者模式，以在 Unity SDK 中追踪用户订阅事件。"
---

如果您已经拥有自己的购买基础设施，并且尚未准备好完全切换到 Adapty，您可以了解[观察者模式](observer-vs-full-mode)。在其基本形式下，观察者模式提供高级分析功能以及与归因和分析系统的无缝集成。

如果这满足您的需求，您只需：
1. 在配置 Adapty SDK 时将 `observerMode` 参数设置为 `true` 来启用它。请参照 [Unity](sdk-installation-unity#activate-adapty-module-of-adapty-sdk) 的设置说明。
2. 将现有购买基础设施中的[交易上报](report-transactions-observer-mode-unity)给 Adapty。

### 观察者模式设置 \{#observer-mode-setup\}

如果您自行处理购买和订阅状态，并使用 Adapty 发送订阅事件和分析数据，请启用观察者模式。

:::important
在观察者模式下运行时，Adapty SDK 不会关闭任何交易，请确保您自行处理这一事项。
:::

```csharp showLineNumbers title="C#"
using UnityEngine;
using AdaptySDK;

public class AdaptyListener : MonoBehaviour, AdaptyEventListener {
    void Start() {
        DontDestroyOnLoad(this.gameObject);
        Adapty.SetEventListener(this);

        var builder = new AdaptyConfiguration.Builder("YOUR_PUBLIC_SDK_KEY")
            .SetObserverMode(true); // Enable observer mode

        Adapty.Activate(builder.Build(), (error) => {
            if (error != null) {
                // handle the error
                return;
            }
        });
    }

    public void OnLoadLatestProfile(AdaptyProfile profile) { }
    public void OnInstallationDetailsSuccess(AdaptyInstallationDetails details) { }
    public void OnInstallationDetailsFail(AdaptyError error) { }
}
```

参数：

| 参数           | 描述                                                                                                        |
|--------------|-------------------------------------------------------------------------------------------------------------|
| observerMode | 用于控制[观察者模式](observer-vs-full-mode)的布尔值。默认值为 `false`。 |

## 在观察者模式下使用 Adapty 付费墙 \{#using-adapty-paywalls-in-observer-mode\}

如果您还想使用 Adapty 的付费墙和 A/B 测试功能，也是可以的——但在观察者模式下需要一些额外的设置。除了上述步骤之外，您还需要：

1. 按照[远程配置付费墙](present-remote-config-paywalls-unity)的常规方式展示付费墙。
3. 将付费墙与购买交易进行[关联](report-transactions-observer-mode-unity)。