---
title: "迁移 Adapty Flutter SDK 至 v3.8"
description: "迁移至 Adapty Flutter SDK v3.8，获得更好的性能和新的货币化功能。"
---

Adapty SDK 3.8.0 是一个重要版本，带来了一些改进，但可能需要你执行若干迁移步骤。

1. 更新 observer 类名和方法名。
2. 更新备用付费墙的方法名。
3. 更新事件处理方法中的 view 类名。
## 更新观察者类和方法名称 \{#update-observer-class-and-method-names\}

观察者类及其注册方法已重命名：

```diff showLineNumbers
- class MyObserver extends AdaptyUIObserver {
+ class MyObserver extends AdaptyUIPaywallsEventsObserver {
   @override
   void paywallViewDidPerformAction(AdaptyUIView view, AdaptyUIAction action) {
     // Handle action
   }
 }

 // Register observer
- AdaptyUI().setObserver(this);
+ AdaptyUI().setPaywallsEventsObserver(this);
```

## 更新备用付费墙方法名称 \{#update-fallback-paywalls-method-name\}

设置备用付费墙的方法已简化：

```diff showLineNumbers
 try {
-  await Adapty.setFallbackPaywalls(assetId);
+  await Adapty.setFallback(assetId);
 } on AdaptyError catch (adaptyError) {
   // handle the error
 } catch (e) {
   // handle the error
 }
```

## 在事件处理方法中更新视图类名 \{#update-view-class-name-in-event-handling-methods\}

所有事件处理方法现在使用新的 `AdaptyUIPaywallView` 类，替代原来的 `AdaptyUIView`：
```diff showLineNumbers
- void paywallViewDidPerformAction(AdaptyUIView view, AdaptyUIAction action)
+ void paywallViewDidPerformAction(AdaptyUIPaywallView view, AdaptyUIAction action)

- void paywallViewDidSelectProduct(AdaptyUIView view, AdaptyPaywallProduct product)
+ void paywallViewDidSelectProduct(AdaptyUIPaywallView view, AdaptyPaywallProduct product)

- void paywallViewDidStartPurchase(AdaptyUIView view, AdaptyPaywallProduct product)
+ void paywallViewDidStartPurchase(AdaptyUIPaywallView view, AdaptyPaywallProduct product)

- void paywallViewDidFinishPurchase(AdaptyUIView view, AdaptyPaywallProduct product, AdaptyProfile profile)
+ void paywallViewDidFinishPurchase(AdaptyUIPaywallView view, AdaptyPaywallProduct product, AdaptyProfile profile)

- void paywallViewDidFailPurchase(AdaptyUIView view, AdaptyPaywallProduct product, AdaptyError error)
+ void paywallViewDidFailPurchase(AdaptyUIPaywallView view, AdaptyPaywallProduct product, AdaptyError error)

- void paywallViewDidFinishRestore(AdaptyUIView view, AdaptyProfile profile)
+ void paywallViewDidFinishRestore(AdaptyUIPaywallView view, AdaptyProfile profile)

- void paywallViewDidFailRestore(AdaptyUIView view, AdaptyError error)
+ void paywallViewDidFailRestore(AdaptyUIPaywallView view, AdaptyError error)

- void paywallViewDidFailLoadingProducts(AdaptyUIView view, AdaptyIOSProductsFetchPolicy? fetchPolicy, AdaptyError error)
+ void paywallViewDidFailLoadingProducts(AdaptyUIPaywallView view, AdaptyIOSProductsFetchPolicy? fetchPolicy, AdaptyError error)

- void paywallViewDidFailRendering(AdaptyUIView view, AdaptyError error)
+ void paywallViewDidFailRendering(AdaptyUIPaywallView view, AdaptyError error)
```