Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Target release0.5,1.1
Epic

AF-85 - Getting issue details... STATUS

Document status
DRAFT
Document owner

Goals

  • To allow users to purchase extra workout definitions in 7MW.
  • To make Afterburner available to users with an active subscription only.

Requirements

The IAP system we implement must be flexible enough to allow the following:

  • Allow the addition of other apps in the future that can use the same server-side data store.
  • Allow the easy addition of an Android client at a later date.
  • Allow us to sell workout definitions in 7MW as non-consumable IAPs. 
  • Allow us to sell and manage auto-renewable subscriptions for Afterburner.
  • Allow users to restore previous purchases.
  • Ensure that a subscription cannot be used to unlock content for multiple users.

Implementation

All IAP receipts are validated on the server, using Apple's server-to-server validation API.

  1. The IAP is purchased on the user's device as usual.
  2. The client posts the purchase receipt to /receipts/user_id/new_auto_id/receipt.
  3. The server will then pick this up and process it.
  4. The client listens at /receipts/user_id/same_auto_id/validation. The sever will add this ref after processing.
  5. If the receipt is valid, the server will make the necessary changes to other parts of the FRD and the client receives new/unlocked content etc through existing listeners.
  6. The client tells StoreKit the transaction has finished.

This is simply the overview of the process. The complexities are detailed in jira:

  • Workout non-consumables, client side:  AF-87 - Getting issue details... STATUS  
  • Workout non-consumables, server side:  AF-88 - Getting issue details... STATUS
  • Renewable subscriptions (TBC)
  • No labels