Adapty Unity SDK'yı v. 3.14'e Geçirme
Adapty SDK 3.14.0, bazı iyileştirmeler getiren büyük bir sürümdür; ancak bu iyileştirmeler sizin tarafınızdan birkaç geçiş adımı gerektiriyor olabilir:
- Paywall etkinlikleri için ayrı olay dinleyicisi.
AdaptyUI.CreateView’ıAdaptyUI.CreatePaywallViewolarak ve ilgili metotları yeniden adlandırma.MakePurchasemetodunu ayrı parametreler yerineAdaptyPurchaseParameterskullanacak şekilde güncelleme.SetFallbackPaywalls’ıSetFallbackmetoduyla değiştirme.- Paywall özellik erişimini
AdaptyPlacementkullanacak şekilde güncelleme. - Remote config erişimini
AdaptyRemoteConfignesnesi kullanacak şekilde güncelleme. AdaptyPaywallmodelindeVendorProductIds’iProductIdentifiersile değiştirme.GetPaywallfetch policy’siniAdaptyFetchPolicykullanacak şekilde güncelleme.
Paywall etkinlikleri için ayrı olay dinleyicisi
Paywall Builder ile tasarlanmış paywallları gösteriyorsanız, paywall görünüm etkinlikleri artık özel AdaptyPaywallsEventsListener arayüzünü ve SetPaywallsEventsListener metodunu kullanıyor. Temel AdaptyEventListener arayüzü, profil güncellemeleri ve kurulum bilgileri için kullanılmaya devam etmektedir.
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
}
Paywall etkinliklerini işleme hakkında daha fazla bilgi edinin.
Görünüm oluşturma ve sunum metotlarını yeniden adlandırma
Görünüm oluşturma ve sunum metotları yeniden adlandırıldı:
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
});
});
}
Benzer şekilde, kapatma metodu da yeniden adlandırıldı:
- AdaptyUI.DismissView(view, (error) => {
+ AdaptyUI.DismissPaywallView(view, (error) => {
// handle the error
});
MakePurchase metodunu güncelleme
MakePurchase metodu artık ayrı subscriptionUpdateParams ve isOfferPersonalized argümanları yerine AdaptyPurchaseParameters kullanıyor. Bu değişiklik daha iyi tip güvenliği sağlar ve satın alma parametrelerinin ileriye dönük genişletilebilirliğine olanak tanır.
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;
}
});
}
Ek parametre gerekmiyorsa şu şekilde kullanabilirsiniz:
using AdaptySDK;
void MakePurchase(AdaptyPaywallProduct product) {
Adapty.MakePurchase(product, (result, error) => {
// handle purchase result
});
}
Fallback metodunu güncelleme
Unity SDK 3.14’e yükseltirken, Adapty kontrol panelinden yeni yedek dosyaları indirmeniz ve projenizdeki mevcut dosyaları bunlarla değiştirmeniz gerekecektir.
Fallback ayarlama metodu güncellendi. SetFallbackPaywalls metodu SetFallback olarak yeniden adlandırıldı:
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
});
}
Nihai kod örneğine Unity’de yedek paywall kullanımı sayfasından ulaşabilirsiniz.
Paywall özellik erişimini güncelleme
Aşağıdaki özellikler AdaptyPaywall’dan AdaptyPlacement’a taşındı:
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;
}
Remote config erişimini güncelleme
Remote config özellikleri, daha iyi bir yapı için AdaptyRemoteConfig nesnesi altında yeniden düzenlendi:
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 model kullanımını güncelleme
VendorProductIds özelliği, ProductIdentifiers lehine kullanımdan kaldırıldı. Yeni özellik, basit string’ler yerine AdaptyProductIdentifier nesneleri döndürerek daha yapılandırılmış ürün bilgisi sunar.
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 nesnesi, VendorProductId özelliği aracılığıyla vendor ürün kimliğine erişim sağlar; mevcut işlevselliği korurken ileriye dönük geliştirmeler için daha iyi bir yapı sunar.
GetPaywall fetch policy’sini güncelleme
GetPaywall metodundaki fetchPolicy parametre türü AdaptyPaywallFetchPolicy’den AdaptyPlacementFetchPolicy’ye değiştirildi. Bu değişiklik, SDK genelinde fetch policy kullanımını birleştiriyor.
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
});
}