Adapty Unity SDK'yı v3.14'e Taşıma
Adapty SDK 3.14.0, bazı geliştirmeler getiren büyük bir sürümdür. Bu geliştirmeler sizin tarafınızdan bazı taşıma adımları gerektirebilir:
- Paywall olayları için ayrı event listener.
AdaptyUI.CreateView’iAdaptyUI.CreatePaywallViewve ilgili metodlara yeniden adlandırın.MakePurchasemetodunu bireysel parametreler yerineAdaptyPurchaseParameterskullanacak şekilde güncelleyin.SetFallbackPaywalls’uSetFallbackmetoduyla değiştirin.- Paywall özellik erişimini
AdaptyPlacementkullanacak şekilde güncelleyin. - Remote config erişimini
AdaptyRemoteConfignesnesi kullanacak şekilde güncelleyin. AdaptyPaywallmodelindeVendorProductIds’iProductIdentifiersile değiştirin.GetPaywallfetch policy’siniAdaptyFetchPolicykullanacak şekilde güncelleyin.
Paywall olayları için ayrı olay dinleyicisi
Paywall Builder ile tasarlanmış paywallları görüntülüyorsanız, paywall görünüm olayları artık özel AdaptyPaywallsEventsListener arayüzünü ve SetPaywallsEventsListener metodunu kullanmaktadır. AdaptyEventListener arayüzü ise profil güncellemeleri ve kurulum detayları 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 olaylarını işleme hakkında daha fazla bilgi edinin.
Görünüm oluşturma ve sunum metodlarını yeniden adlandırın
Görünüm oluşturma ve sunum metodları 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 yöntemini güncelleme
MakePurchase yöntemi artık ayrı subscriptionUpdateParams ve isOfferPersonalized argümanları yerine AdaptyPurchaseParameters kullanıyor. Bu, daha iyi tür güvenliği sağlar ve gelecekte satın alma parametrelerinin genişletilebilmesine 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 parametreye ihtiyaç duyulmuyorsa şunu kullanabilirsiniz:
using AdaptySDK;
void MakePurchase(AdaptyPaywallProduct product) {
Adapty.MakePurchase(product, (result, error) => {
// handle purchase result
});
}
Yedek paywall yöntemini güncelleme
Unity SDK 3.14 sürümüne yükseltirken, Adapty Kontrol Paneli’nden yeni yedek dosyaları indirip projenizdeki mevcut dosyaların yerine koymanız gerekecektir.
Yedekleri ayarlama yöntemi güncellendi. SetFallbackPaywalls yöntemi 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
});
}
Son kod örneğini Unity’de yedek paywall kullanımı sayfasında inceleyebilirsiniz.
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 kullanımdan kaldırılmış olup yerine ProductIdentifiers geçmiştir. Yeni özellik, basit string’ler yerine AdaptyProductIdentifier nesneleri döndürerek daha yapılandırılmış ürün bilgisi sağlar.
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 satıcı ürün kimliğine erişim sağlar; aynı işlevselliği korurken gelecekteki 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
});
}