Adapty Unity SDK を v3.14 へ移行する
Adapty SDK 3.14.0 はメジャーリリースであり、いくつかの改善が含まれています。ただし、以下の移行手順が必要になる場合があります。
- ペイウォールイベント用の専用イベントリスナーの分離。
AdaptyUI.CreateViewをAdaptyUI.CreatePaywallViewおよびその関連メソッドにリネーム。MakePurchaseメソッドで個別パラメーターの代わりにAdaptyPurchaseParametersを使用するよう更新。SetFallbackPaywallsをSetFallbackメソッドに置き換え。AdaptyPlacementを使用してペイウォールプロパティにアクセスするよう更新。AdaptyRemoteConfigオブジェクトを使用してリモートコンフィグにアクセスするよう更新。AdaptyPaywallモデルのVendorProductIdsをProductIdentifiersに置き換え。GetPaywallのフェッチポリシーでAdaptyFetchPolicyを使用するよう更新。
ペイウォールイベント用の専用イベントリスナーの分離
ペイウォールビルダーでデザインしたペイウォールを表示する場合、ペイウォールビューのイベントは専用の AdaptyPaywallsEventsListener インターフェースと SetPaywallsEventsListener メソッドを使用するようになりました。コアの AdaptyEventListener インターフェースは、プロファイル更新とインストール詳細のために引き続き使用されます。
using UnityEngine;
using AdaptySDK;
public class AdaptyListener : MonoBehaviour,
- AdaptyEventListener {
+ AdaptyEventListener,
+ AdaptyPaywallsEventsListener {
void Start() {
Adapty.SetEventListener(this);
+ Adapty.SetPaywallsEventsListener(this);
}
// AdaptyEventListener methods
public void OnLoadLatestProfile(AdaptyProfile profile) { }
public void OnInstallationDetailsSuccess(AdaptyInstallationDetails details) { }
public void OnInstallationDetailsFail(AdaptyError error) { }
+ // AdaptyPaywallsEventsListener methods
+ // Implement paywall event handlers here
}
ビュー作成・表示メソッドのリネーム
ビューの作成と表示に使用するメソッドがリネームされました。
using AdaptySDK;
- AdaptyUI.CreateView(paywall, parameters, (view, error) => {
+ AdaptyUI.CreatePaywallView(paywall, parameters, (view, error) => {
if (error != null) {
// handle the error
return;
}
- AdaptyUI.PresentView(view, (error) => {
+ AdaptyUI.PresentPaywallView(view, (error) => {
// handle the error
});
});
}
同様に、閉じるメソッドもリネームされました。
- AdaptyUI.DismissView(view, (error) => {
+ AdaptyUI.DismissPaywallView(view, (error) => {
// handle the error
});
MakePurchase メソッドの更新
MakePurchase メソッドは、個別の subscriptionUpdateParams および isOfferPersonalized 引数の代わりに AdaptyPurchaseParameters を使用するようになりました。これにより型安全性が向上し、将来的な購入パラメーターの拡張にも対応しやすくなります。
using AdaptySDK;
void MakePurchase(
AdaptyPaywallProduct product,
AdaptySubscriptionUpdateParameters subscriptionUpdate,
bool? isOfferPersonalized
) {
- Adapty.MakePurchase(product, subscriptionUpdate, isOfferPersonalized, (result, error) => {
+ var parameters = new AdaptyPurchaseParametersBuilder()
+ .SetSubscriptionUpdateParams(subscriptionUpdate)
+ .SetIsOfferPersonalized(isOfferPersonalized)
+ .Build();
+
+ Adapty.MakePurchase(product, parameters, (result, error) => {
switch (result.Type) {
case AdaptyPurchaseResultType.Pending:
// handle pending purchase
break;
case AdaptyPurchaseResultType.UserCancelled:
// handle purchase cancellation
break;
case AdaptyPurchaseResultType.Success:
var profile = result.Profile;
// handle successful purchase
break;
default:
break;
}
});
}
追加パラメーターが不要な場合は、次のように簡単に記述できます。
using AdaptySDK;
void MakePurchase(AdaptyPaywallProduct product) {
Adapty.MakePurchase(product, (result, error) => {
// handle purchase result
});
}
フォールバックメソッドの更新
Unity SDK 3.14 にアップグレードする際は、Adapty ダッシュボードから新しいフォールバックファイルをダウンロードし、プロジェクト内の既存ファイルと置き換える必要があります。
フォールバックを設定するメソッドが更新されました。SetFallbackPaywalls メソッドは SetFallback にリネームされました。
using AdaptySDK;
void SetFallBackPaywalls() {
#if UNITY_IOS
var assetId = "adapty_fallback_ios.json";
#elif UNITY_ANDROID
var assetId = "adapty_fallback_android.json";
#else
var assetId = "";
#endif
- Adapty.SetFallbackPaywalls(assetId, (error) => {
+ Adapty.SetFallback(assetId, (error) => {
// handle the error
});
}
最終的なコード例は Unity でフォールバックペイウォールを使用する のページをご覧ください。
ペイウォールプロパティアクセスの更新
以下のプロパティが AdaptyPaywall から AdaptyPlacement に移動されました。
using AdaptySDK;
void ProcessPaywall(AdaptyPaywall paywall) {
- var abTestName = paywall.ABTestName;
- var audienceName = paywall.AudienceName;
- var revision = paywall.Revision;
- var placementId = paywall.PlacementId;
+ var abTestName = paywall.Placement.ABTestName;
+ var audienceName = paywall.Placement.AudienceName;
+ var revision = paywall.Placement.Revision;
+ var placementId = paywall.Placement.Id;
}
リモートコンフィグアクセスの更新
リモートコンフィグのプロパティが AdaptyRemoteConfig オブジェクトに再構成され、より整理された形になりました。
using AdaptySDK;
void ProcessRemoteConfig(AdaptyPaywall paywall) {
- var remoteConfigString = paywall.RemoteConfigString;
- var locale = paywall.Locale;
- var remoteConfigDict = paywall.RemoteConfig;
+ var remoteConfigString = paywall.RemoteConfig.Data;
+ var locale = paywall.RemoteConfig.Locale;
+ var remoteConfigDict = paywall.RemoteConfig.Dictionary;
}
AdaptyPaywall モデルの使用方法の更新
VendorProductIds プロパティは非推奨となり、ProductIdentifiers に置き換えられました。新しいプロパティは単純な文字列ではなく AdaptyProductIdentifier オブジェクトを返すため、プロダクト情報がより構造化されています。
using AdaptySDK;
void ProcessPaywallProducts(AdaptyPaywall paywall) {
- var productIds = paywall.VendorProductIds;
- foreach (var vendorId in productIds) {
- // use vendorId
- }
+ var productIdentifiers = paywall.ProductIdentifiers;
+ foreach (var productId in productIdentifiers) {
+ var vendorId = productId.VendorProductId;
+ // use vendorId
+ }
}
AdaptyProductIdentifier オブジェクトは VendorProductId プロパティを通じてベンダープロダクト ID にアクセスでき、従来と同じ機能を維持しつつ、将来の拡張に向けてより良い構造を提供します。
GetPaywall フェッチポリシーの更新
GetPaywall メソッドの fetchPolicy パラメーターの型が AdaptyPaywallFetchPolicy から AdaptyPlacementFetchPolicy に変更されました。この変更により、SDK 全体でフェッチポリシーの使用が統一されます。
using AdaptySDK;
void GetPaywall(string placementId) {
- Adapty.GetPaywall(placementId, AdaptyPaywallFetchPolicy.ReloadRevalidatingCacheData, null, (paywall, error) => {
+ Adapty.GetPaywall(placementId, AdaptyPlacementFetchPolicy.ReloadRevalidatingCacheData, null, (paywall, error) => {
// handle the result
});
}