Loading...
Searching...
No Matches
juce::InAppPurchases Class Reference

## Detailed Description

Provides in-app purchase functionality.

Your app should create a single instance of this class, and on iOS it should be created as soon as your app starts. This is because on application startup any previously pending transactions will be resumed.

Once an InAppPurchases object is created, call addListener() to attach listeners.

The documentation for this class was generated from the following file:

- juce_product_unlocking/in_app_purchases/juce_InAppPurchases.h

Inheritance diagram for juce::InAppPurchases:

## Classes

struct | Product
| Represents a product available in the store. More...
struct | Purchase
| Represents a purchase of a product in the store. More...
struct | Download
| iOS only: represents in-app purchase download. More...
struct | Listener
| Represents an object that gets notified about events such as product info returned or product purchase finished. More...

## Public Member Functions

bool | isInAppPurchasesSupported () const
| Checks whether in-app purchases is supported on current platform.
void | getProductsInformation (const StringArray &productIdentifiers)
| Asynchronously requests information for products with given ids.
void | purchaseProduct (const String &productIdentifier, const String &upgradeOrDowngradeFromSubscriptionWithProductIdentifier={}, bool creditForUnusedSubscription=true)
| Asynchronously requests to buy a product with given id.
void | restoreProductsBoughtList (bool includeDownloadInfo, const juce::String &subscriptionsSharedSecret={})
| Asynchronously asks about a list of products that a user has already bought.
void | consumePurchase (const String &productIdentifier, const String &purchaseToken={})
| Android only: asynchronously sends a request to mark a purchase with given identifier as consumed.
void | addListener (Listener *)
| Adds a listener.
void | removeListener (Listener *)
| Removes a listener.
void | startDownloads (const Array< Download * > &downloads)
| iOS only: Starts downloads of hosted content from the store.
void | pauseDownloads (const Array< Download * > &downloads)
| iOS only: Pauses downloads of hosted content from the store.
void | resumeDownloads (const Array< Download * > &downloads)
| iOS only: Resumes downloads of hosted content from the store.
void | cancelDownloads (const Array< Download * > &downloads)
| iOS only: Cancels downloads of hosted content from the store.

## Member Functions

## isInAppPurchasesSupported()

bool juce::InAppPurchases::isInAppPurchasesSupported | ( |  | ) | const

Checks whether in-app purchases is supported on current platform.

On iOS this always returns true.

## getProductsInformation()

void juce::InAppPurchases::getProductsInformation | ( | const StringArray & | productIdentifiers | ) |

Asynchronously requests information for products with given ids.

Upon completion, for each enquired product there is going to be a corresponding Product object. If there is no information available for the given product identifier, it will be ignored.

## purchaseProduct()

void juce::InAppPurchases::purchaseProduct | ( | const String & | productIdentifier,
|  | const String & | upgradeOrDowngradeFromSubscriptionWithProductIdentifier = {},
|  | bool | creditForUnusedSubscription = true )

Asynchronously requests to buy a product with given id.

Parameters

  productIdentifier | The product identifier.
  upgradeOrDowngradeFromSubscriptionWithProductIdentifier | (Android only) specifies the subscription that will be replaced by the one being purchased now. Used only when buying a subscription that is an upgrade or downgrade from another.
  creditForUnusedSubscription | (Android only) controls whether a user should be credited for any unused subscription time on the product that is being upgraded or downgraded.

Referenced by cancelDownloads().

## restoreProductsBoughtList()

void juce::InAppPurchases::restoreProductsBoughtList | ( | bool | includeDownloadInfo,
|  | const juce::String & | subscriptionsSharedSecret = {} )

Asynchronously asks about a list of products that a user has already bought.

Upon completion, Listener::purchasesListRestored() callback will be invoked. The user may be prompted to login first.

Parameters

  includeDownloadInfo | (iOS only) if true, then after restoration is successful, the downloads array passed to Listener::purchasesListReceived() callback will contain all the download objects corresponding with the purchase. In the opposite case, the downloads array will be empty.
  subscriptionsSharedSecret | (iOS only) required when not including download information and when there are auto-renewable subscription set up with this app. Refer to In-App-Purchase settings in the store.

## consumePurchase()

void juce::InAppPurchases::consumePurchase | ( | const String & | productIdentifier,
|  | const String & | purchaseToken = {} )

Android only: asynchronously sends a request to mark a purchase with given identifier as consumed.

To consume a product, provide product identifier as well as a purchase token that was generated when the product was purchased. The purchase token can also be retrieved by using getProductsInformation(). In general if it is available on hand, it is better to use it, because otherwise another async request will be sent to the store, to first retrieve the token.

After successful consumption, a product will no longer be returned in getProductsBought() and it will be available for purchase.

On iOS consumption happens automatically. If the product was set as consumable, this function is a no-op.

## addListener()

void juce::InAppPurchases::addListener | ( | Listener * |  | ) |

Adds a listener.

## removeListener()

void juce::InAppPurchases::removeListener | ( | Listener * |  | ) |

Removes a listener.

## startDownloads()

void juce::InAppPurchases::startDownloads | ( | const Array< Download * > & | downloads | ) |

iOS only: Starts downloads of hosted content from the store.

## pauseDownloads()

void juce::InAppPurchases::pauseDownloads | ( | const Array< Download * > & | downloads | ) |

iOS only: Pauses downloads of hosted content from the store.

## resumeDownloads()

void juce::InAppPurchases::resumeDownloads | ( | const Array< Download * > & | downloads | ) |

iOS only: Resumes downloads of hosted content from the store.

## cancelDownloads()

void juce::InAppPurchases::cancelDownloads | ( | const Array< Download * > & | downloads | ) |

iOS only: Cancels downloads of hosted content from the store.

References purchaseProduct().

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited