PlayMaker

Build an in-app store UI, purchase products, and restore eligible purchases using PlayMaker custom actions.

Key pattern (listeners)

  • Register BillingServicesOnTransactionStateChange in a state that stays active before calling BillingServicesBuyProduct. This listener is what fires purchasingEvent / purchasedEvent / failedEvent / deferredEvent and caches transactions for BillingServicesGetTransactionInfo.

  • Register BillingServicesOnRestorePurchasesComplete in a state that stays active before calling BillingServicesRestorePurchases. This listener is what fires completion events and caches restore results for extractor actions.

Actions (high level)

  • Store setup: BillingServicesInitializeStore, BillingServicesGetInitializeStoreSuccessResult, BillingServicesGetInitializeStoreError, BillingServicesCanMakePayments

  • Product listing/UI: BillingServicesGetStoreProductInfo, BillingServicesIsProductPurchased

  • Purchase flow: BillingServicesBuyProduct, BillingServicesGetBuyProductError, BillingServicesOnTransactionStateChange, BillingServicesGetTransactionInfo

  • Restore flow: BillingServicesRestorePurchases, BillingServicesOnRestorePurchasesComplete, BillingServicesGetRestorePurchasesSuccessResult, BillingServicesGetRestorePurchasesError, BillingServicesGetRestoredTransactionInfo

  • Manual completion / verification: BillingServicesGetTransactions, BillingServicesSetReceiptVerificationState, BillingServicesFinishTransactions

AutoFinishTransactions

  • ON (default): simplest flow. Grant content on purchasedEvent. No manual finishing needed.

  • OFF (advanced): required for server-side receipt verification. Verify receipt from BillingServicesGetTransactionInfo, then call BillingServicesSetReceiptVerificationState(transactionId, Success/Failed) and finish with BillingServicesFinishTransactions.

Use cases

Start here: use-cases/README.md

Last updated

Was this helpful?