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 : IAffiseModuleApiRuntime/Module/Subscription/IAffiseSubscriptionApi.cs:6
  • public interface IAffiseModuleSubscriptionApi : IAffiseSubscriptionApi, IAffiseHasModuleRuntime/Module/Subscription/IAffiseModuleSubscriptionApi.cs:5

Supporting types:

  • public class AffiseProductRuntime/Module/Subscription/AffiseProduct.cs:5 — fields ProductId, Title, Description, ProductType, Price, Subscription.
  • public class AffiseProductPriceRuntime/Module/Subscription/AffiseProductPrice.cs:5.
  • public class AffiseProductSubscriptionDetailRuntime/Module/Subscription/AffiseProductSubscriptionDetail.cs:5.
  • public enum AffiseProductTypeRuntime/Module/Subscription/AffiseProductType.cs:7 — values CONSUMABLE, NON_CONSUMABLE, RENEWABLE_SUBSCRIPTION, NON_RENEWABLE_SUBSCRIPTION.
  • public class AffiseProductsResultRuntime/Module/Subscription/AffiseProductsResult.cs:7 — fields List<AffiseProduct> Products, List<string> InvalidIds.
  • public class AffisePurchasedInfoRuntime/Module/Subscription/AffisePurchasedInfo.cs:5.
  • public delegate void AffiseResultCallback<T>(AffiseResult<T> result);Runtime/Module/Subscription/AffiseResultCallback.cs:5.
  • public enum TimeUnitTypeRuntime/Module/Subscription/TimeUnitType.cs:7.
  • public class AffiseResult<T>Runtime/Module/AffiseResult.cs:5Success(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();