Monetizing apps is challenging. In this course, Implementing In-App Purchases on iOS, you’ll learn to offer digital products and services directly within your app as in-app purchases.
First, you’ll explore how to translate business requirements into digital products and configure them in App Store Connect and Xcode.
Next, you’ll discover how to build and test a store within your app using StoreKit.
Finally, you’ll learn how to make sure purchases made within your app are authentic, and unlock content that’s been purchased by your users.
When you’re finished with this course, you’ll have the skills and knowledge needed to implement in-app purchases on iOS!
1 – Preparing to Implement In-App Purchases
Prepare to implement in-app purchases by understanding what’s involved from a big picture standpoint.
You will learn to configure digital products in App Store Connect and Xcode to kick off your in-app purchase learning adventure.
Topics in this module include…
The Perks (And the Work) Ahead of You
First Things First – Checking off the Prerequisites
Matching Product Types to Business Requirements
Setting Up Products in App Store Connect
Setting Up an Auto-Renewable Subscription
Configuring an Xcode Project for In-App Purchases
2 – Building In-App Purchase Functionality with StoreKit
The focus of this module is on the StoreKit APIs for working with digital products and App Store Connect.
You will learn to build and test a fully-working store view that will support in-app purchases.
Topics in this module include…
Using StoreKit to Build In-App Purchase Functionality: A Roadmap
Retrieving a Set of Products for Purchase from the App Store
Displaying Products in a User Interface
Implementing a “Buy” Button
Preparing to Test Purchases by Setting up a Sandbox Tester Account
Making Test Purchases
Implementing a “Restore Purchases” Button
3 – Protecting Your Revenue by Verifying Purchase Authenticity
After all your hard work to implement in-app purchases, how awful would it be if malicious users stole the content you’ve labored to create?
In this module, you will learn to implement measures to protect revenue generated through in-app purchases by validating App Store receipts.
Receipt validation is a notoriously burdensome hassle. But it doesn’t have to be!
I will teach you how to implement server-side receipt validation from end-to-end with no third-party libraries, no complicated server setup, and no platform-specific proprietary tools.
Here’s the roadmap of topics incluced:
Verifying Purchase Authenticity by Validating App Store Receipts
Weighing Strategies for Receipt Validation
Charting the Course for Server-side Receipt Validation
Sending the Receipt from Your App to Your Server
Writing Server-side Code to Forward the Receipt to the App Store for Validation
Handling the Response from the App Store on Your Server
Accounting for the Sandbox Environment on Your Server
Handling the Response from Your Server in Your App
The Case of the Missing Receipt: Requesting a Refresh
4 – Unlocking Purchased Content
After a user makes a valid purchase, you’ve got to unlock the content they legitimately bought!
Each product type has its own nuances for how to unlock and provide the associated content though.
What do you need to think about, and what code do you need to write to make it happen?
To find out, you will explore these topics:
Analyzing Content-providing Logic by Product Type
Persisting Purchased Products Securely
Using the iOS Keychain
Keeping Track of Consumable Product Inventory
Managing Non-Renewing Subscriptions
Synchronizing Purchases Across Devices
Handling Auto-Renewable Subscriptions
Saving Non-Consumable Transactions
Preparing for App Store Review
From the beginning I set out to make the course I wish I had when I started learning to implement in-app purchases for my apps. My unwavering goal is to help you filter the noise and learn as efficiently as possible. My hope is that this course benefits you in your iOS development career!
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!
Permanent link to this post here