Subscription module
Identifier
Section titled “Identifier”Enum: AffiseModules.Subscription (Runtime/Modules/AffiseModules.cs:7).
Purpose
Section titled “Purpose”Get products by ids
Purchase product
C# class
Section titled “C# class”public class AffiseSubscriptionDeclared at Runtime/Module/Subscription/AffiseSubscription.cs:8 (uses _native on device). Namespace: AffiseAttributionLib.Module.Subscription.
Submodule APIs (accessed via Affise.Module.Subscription):
public interface IAffiseSubscriptionApi : IAffiseModuleApi—Runtime/Module/Subscription/IAffiseSubscriptionApi.cs:6public interface IAffiseModuleSubscriptionApi : IAffiseSubscriptionApi, IAffiseHasModule—Runtime/Module/Subscription/IAffiseModuleSubscriptionApi.cs:5
Supporting types:
public class AffiseProduct—Runtime/Module/Subscription/AffiseProduct.cs:5— fieldsProductId,Title,Description,ProductType,Price,Subscription.public class AffiseProductPrice—Runtime/Module/Subscription/AffiseProductPrice.cs:5.public class AffiseProductSubscriptionDetail—Runtime/Module/Subscription/AffiseProductSubscriptionDetail.cs:5.public enum AffiseProductType—Runtime/Module/Subscription/AffiseProductType.cs:7— valuesCONSUMABLE,NON_CONSUMABLE,RENEWABLE_SUBSCRIPTION,NON_RENEWABLE_SUBSCRIPTION.public class AffiseProductsResult—Runtime/Module/Subscription/AffiseProductsResult.cs:7— fieldsList<AffiseProduct> Products,List<string> InvalidIds.public class AffisePurchasedInfo—Runtime/Module/Subscription/AffisePurchasedInfo.cs:5.public delegate void AffiseResultCallback<T>(AffiseResult<T> result);—Runtime/Module/Subscription/AffiseResultCallback.cs:5.public enum TimeUnitType—Runtime/Module/Subscription/TimeUnitType.cs:7.public class AffiseResult<T>—Runtime/Module/AffiseResult.cs:5—Success(T),Failure(string),IsSuccess,IsFailure,AsSuccess,AsFailure.
Platform notes
Section titled “Platform notes”- iOS only on device. The Unity Editor / desktop returns
NotSupported.
Fetch products
Section titled “Fetch products”var ids = new List<string> { "exampple.product.id_1", "exampple.product.id_2",};
Affise.Module.Subscription.FetchProducts(ids, (result) =>{ if (result.IsSuccess) { var value = result.AsSuccess; var products = value.Products; var invalidIds = value.InvalidIds; } else { var error = result.AsFailure; }});Purchase
Section titled “Purchase”Affise.Module.Subscription.Purchase(product, AffiseProductType.CONSUMABLE, (result) =>{ if (result.IsSuccess) { AffisePurchasedInfo purchasedInfo = result.AsSuccess; } else { var error = result.AsFailure; }});Module presence check
Section titled “Module presence check”Affise.Module.Subscription.HasModule();