Skip to content

Subscription module

Enum: AffiseModules.Subscription (Runtime/Modules/AffiseModules.cs:7).

Get products by ids

Purchase product

public class AffiseSubscription

Declared 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:6
  • public interface IAffiseModuleSubscriptionApi : IAffiseSubscriptionApi, IAffiseHasModule — Runtime/Module/Subscription/IAffiseModuleSubscriptionApi.cs:5

Supporting types:

  • public class AffiseProduct — Runtime/Module/Subscription/AffiseProduct.cs:5 — fields ProductId, 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 — values CONSUMABLE, NON_CONSUMABLE, RENEWABLE_SUBSCRIPTION, NON_RENEWABLE_SUBSCRIPTION.
  • public class AffiseProductsResult — Runtime/Module/Subscription/AffiseProductsResult.cs:7 — fields List<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.
  • iOS only on device. The Unity Editor / desktop returns NotSupported.
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;
}
});
Affise.Module.Subscription.Purchase(product, AffiseProductType.CONSUMABLE, (result) =>
{
if (result.IsSuccess)
{
AffisePurchasedInfo purchasedInfo = result.AsSuccess;
}
else
{
var error = result.AsFailure;
}
});
Affise.Module.Subscription.HasModule();