---
title: "在 Capacitor SDK 中以观察者模式上报交易"
description: "在 Capacitor SDK 的 Adapty 观察者模式中上报购买交易，以获取用户洞察并跟踪收入。"
---

在观察者模式下，Adapty SDK 无法自动跟踪通过您现有购买系统完成的购买行为。您需要手动从应用商店上报交易。在发布应用**之前**完成此设置至关重要，否则可能导致分析数据出错。

使用 `reportTransaction` 显式上报每笔交易，以便 Adapty 识别它。

:::warning

**请勿跳过交易上报！**
如果您不调用 `reportTransaction`，Adapty 将无法识别该交易，它不会出现在分析数据中，也不会被发送至集成渠道。

:::

如果您使用 Adapty 付费墙，请在上报交易时包含 `variationId`。这会将购买行为与触发它的付费墙关联起来，从而确保付费墙分析数据的准确性。

```typescript showLineNumbers

const variationId = paywall.variationId;

try {
  await adapty.reportTransaction({ 
    transactionId: 'your_transaction_id',
    variationId: variationId 
  });
} catch (error) {
  console.error('Failed to report transaction:', error);
}
```

参数说明：

| 参数 | 是否必填 | 描述 |
| ------------- | -------- | ------------------------------------------------------------ |
| **transactionId** | 必填 | <ul><li>iOS：交易的标识符。</li><li>Android：购买的字符串标识符（`purchase.getOrderId`），其中 purchase 是计费库 [Purchase](https://developer.android.com/reference/com/android/billingclient/api/Purchase) 类的实例。</li></ul> |
| **variationId** | 可选 | 实验变体的字符串标识符。您可以通过 [AdaptyPaywall](https://capacitor.adapty.io/interfaces/adaptypaywall) 对象的 `variationId` 属性获取该值。 |