---
title: "Flutter Adapty SDK 3.10.0 への移行ガイド"
description: ""
---

Adapty SDK 3.10.0 はメジャーリリースであり、いくつかの改善が含まれていますが、移行作業が必要になる場合があります。

1. `makePurchase` メソッドを、個別のパラメーターの代わりに `AdaptyPurchaseParameters` を使用するように更新する。
2. `AdaptyPaywall` モデル内の `vendorProductIds` を `productIdentifiers` に置き換える。

## makePurchase メソッドの更新 \{#update-makepurchase-method\}

`makePurchase` メソッドは、個別の `subscriptionUpdateParams` および `isOfferPersonalized` 引数の代わりに `AdaptyPurchaseParameters` を使用するようになりました。これにより、型の安全性が向上し、将来的に購入パラメーターを拡張しやすくなります。

```diff showLineNumbers
- final purchaseResult = await adapty.makePurchase(
-   product: product,
-   subscriptionUpdateParams: subscriptionUpdateParams,
-   isOfferPersonalized: true,
- );

+ final parameters = AdaptyPurchaseParametersBuilder()
+   ..setSubscriptionUpdateParams(subscriptionUpdateParams)
+   ..setIsOfferPersonalized(true)
+   ..setObfuscatedAccountId('your-account-id')
+   ..setObfuscatedProfileId('your-profile-id');

+ final purchaseResult = await adapty.makePurchase(
+   product: product,
+   parameters: parameters.build(),
+ );
```

追加のパラメーターが不要な場合は、次のようにシンプルに記述できます。

```dart showLineNumbers
final purchaseResult = await adapty.makePurchase(
  product: product,
);
```

## AdaptyPaywall モデルの使用方法の更新 \{#update-adaptypaywall-model-usage\}

`vendorProductIds` プロパティは非推奨となり、`productIdentifiers` が推奨されるようになりました。新しいプロパティは、単純な文字列の代わりに `AdaptyProductIdentifier` オブジェクトを返すため、プロダクト情報がより構造化されています。

```diff showLineNumbers
- paywall.vendorProductIds.map((vendorId) => 
-   ListTextTile(title: vendorId)
- ).toList()

+ paywall.productIdentifiers.map((productId) => 
+   ListTextTile(title: productId.vendorProductId)
+ ).toList()
```

`AdaptyProductIdentifier` オブジェクトは `vendorProductId` プロパティを通じてベンダープロダクト ID にアクセスでき、同等の機能を維持しながら将来の拡張に向けてより良い構造を提供します。

## 後方互換性 \{#backward-compatibility\}

どちらの変更も後方互換性を維持しています。
- `makePurchase` の旧パラメーターは非推奨ですが、引き続き機能します
- `vendorProductIds` プロパティは非推奨ですが、引き続きアクセス可能です
- 既存のコードは動作し続けますが、非推奨の警告が表示されます

新しい API を使用するようにコードを更新することを推奨します。これにより、将来の互換性が確保され、改善された型の安全性と拡張性のメリットを活用できます。