Creating In-App Purchase Products

In-App Purchase lets you sell a variety of virtual items directly within your free or paid app. This chapter describes the In-App Purchase product types and shows you how to configure them in iTunes Connect.

About In-App Purchase Products

Read Table 1-1 to know how to choose among the different product types to offer your virtual content or service to customers.

For more information about development considerations for each product type, see “Designing Your App’s Products”.

Table 1-1  In-App Purchase product types

Product type

Description

Consumable

Products that are used one time, after which they become depleted and need to be purchased again, are usually implemented as consumables. For example, fish food in a fishing app could be implemented as a consumable product.

Non-Consumable

Non-consumable products are purchased once by users and do not expire or decrease with use. For example, new race tracks for a game could be implemented as non-consumable products.

Apple can host your non-consumable products for you. See “Hosting Non-Consumable Products with Apple.”

Auto-Renewable Subscription

Auto-renewable subscriptions allow users to purchase dynamic content, such as magazine subscriptions, for a set duration of time. Subscriptions renew automatically unless the user opts out of the renewal. If the content you want offer doesn’t fit what’s outlined in the App Review Guidelines, consider offering the content through a non-renewing subscription.

Auto-renewable subscriptions can include an incentive to customers who share their contact information with you.

Free Subscription

Free subscriptions allow users to download dynamic content, such as magazine subscriptions, for a set duration of time. Free subscriptions are a way for developers to put free content in the Newsstand in the App Store. After a user signs up for a free subscription, the subscription content will be available on all devices associated with the user’s Apple ID. Note that free subscriptions do not expire and can be offered only in Newsstand-enabled apps.

Free subscriptions don’t offer a marketing opt-in incentive as do auto-renewable subscriptions, but users are prompted to share their information.

Free Subscriptions are not available for Mac apps.

Non-Renewing Subscription

Non-renewing subscriptions allow the sale of items with a limited duration. They are used for products that offer time-based access to static content.

  • If you use non-renewing subscriptions, your app is responsible for delivering the subscription to all devices associated with the user’s Apple ID.

  • Because a non-renewing subscription requires a user to renew each time the subscription ends, your app must contain code that recognizes when the subscription is due to expire and prompt the user to purchase a new subscription.

Configuring a Product

For each app, you can create up to 1000 separate In-App Purchase products. Every product you want to offer in your store must be configured in iTunes Connect. Because In-App Purchase products are associated with a single app, you create them from the App Summary page in iTunes Connect.

bullet
To create an In-App Purchase product
  1. As an iTunes Connect user with an Admin or Technical role, sign in to iTunes Connect.

  2. On the iTunes Connect homepage, click Manage Your Apps.

    ../Art/module_icon_apps_2x.png
  3. Select the app you want to enable In-App Purchase for.

    If the app doesn’t appear in the list of apps with recent activity, find it by doing one of the following:

    • Click See All to show a list of all apps in your organization.

      Click column headings to sort the list, and use page controls to move between the list’s pages.

      ../Art/apps_see_all_list_2x.png
    • Use the fields in the Search section below the Recent Activity list.

      ../Art/search_autocomplete_2x.png
  4. In the App Summary page, click Manage In-App Purchases.

    ../Art/iap_manage_iap_2x.png../Art/iap_manage_iap_2x.png

    This button is visible only if your iTunes Connect account has an Admin or Technical role and your team agent has agreed to the latest iOS Developer Program or Mac Developer Program license agreement.

  5. In the In-App Purchases page, click Create New.

  6. In the section for the type of In-App Purchase you want to create, click Select.

    The In-App Purchase product type cannot be changed once your In-App Purchase has been created.

  7. In the Reference Name field, enter an internal name for the product.

  8. For auto-renewable subscriptions, click Add Duration.

    For information on designing subscription durations, see “Designing Auto-Renewable Subscription Duration Families.”

  9. In the Product ID field, enter an alphanumeric identifier for the product.

    In iTunes Connect, you identify the In-App Purchase product using a string called a product identifier. For example, com.company.app_name.productid. When your app uses Store Kit to communicate with the App Store, it uses product identifiers to retrieve the configuration data you provided for the products. Later, when a user wants to purchase a product, your app identifies the product to be purchased using its product identifier.

    Note that product identifiers are unique to the app. For example, you need separate identifiers for products available from the Mac version of an app and for products available from the iOS version of an app.

  10. Specify whether the product is cleared for sale.

    • Select Yes if you want the product to be available as soon as it is approved by Apple.

    • Select No if you want to control when the product becomes available.

    You can come back to this item at any time to release the product for sale.

  11. Choose a price tier.

    The price tier determines both the customer price and your proceeds (which is the net price after taxes, where applicable, have been taken out). The Price Tier menu doesn’t appear for free subscriptions.

  12. Configure the product display text for at least one language, as described in “Displaying Products in More Than One Language.”

  13. In the Review Notes section, enter information that can help Apple review the product.

  14. Upload a screenshot of the product as it appears on the device.

    This screenshot is used for Apple’s review only and is not displayed on the App Store.

    Screenshots must be at least 640 x 920 pixels and at least 72 dpi.

  15. Click Save.

    Your In-App Purchase product appears on the app’s In-App Purchases page. If the product is “Ready to Submit,” the product’s configuration is complete and ready for you to test the product with your app.

Designing Auto-Renewable Subscription Duration Families

You can think of subscription durations as individual products, each with its own time length, price, and marketing incentives. You define durations in a single family to allow users to choose among the durations when they renew their subscription. Start a new auto-renewable subscription and define durations in a different family to make distinct subscription products.

This example of a Manage App Subscriptions page on a user’s device shows six different durations configured for the subscription. Users can see when a subscription renews (and for how much) and can turn off auto-renewal. If you configure more than one duration for a subscription, users can select among the different durations for the renewal.

../Art/iap_news_alerts_2x.png

All six subscription durations were created within the same family in the In-App Purchase product in iTunes Connect. Subscriptions created in different duration families appear as separate products and are not offered to customers as alternatives for subscription renewal.

When their subscription renewal date approaches, customers are notified if the price of an auto-renewable subscription has increased. After their subscriptions expire, they are opted-out of the subscription and must manually renew their subscription at the increased price.

If the price of an auto-renewable subscription decreases during the subscription period, customers are not notified and the subscription automatically renews at the lower price.

Table 1-2 describes the options you have to design different duration and price combinations to offer your customers.

Table 1-2  Auto-renewable subscription pricing and duration options

Property

Description

Duration

The length of time between auto-renewals. Each duration can be used only once per product family. The duration can be 7 days, 1 month, 2 months, 3 months, 6 months, or 1 year.

Offer a marketing opt-in incentive

An additional amount of time added to the initial subscription when customers choose to share their contact information with you. You can set the duration of the incentive to be the same length as the subscription duration or shorter. There is no charge added for the additional time.

Contact information from users who opt in is available in the Sales and Trends module of iTunes Connect.

Note: The opt-in incentive is not available for Mac OS X.

Offer a Free Trial

An amount of time where the content is provided at no cost after which users are automatically renewed for the subscription, unless users turn off auto-renewal. The free trial begins when the user subscribes. You can set the duration of the incentive to be a subset of this subscription duration.

Price Tier

The price tier at which you want to sell the subscription for this duration.

What Users See After Purchasing an Auto-Renewable Subscription

After users purchase an auto-renewable subscription, they see a Confirm Your Subscription dialog. The confirmation includes the subscription’s display name and its duration:

../Art/iap_confirm_subscription_2x.png

After confirming the purchase, users sign in to their App Store account, if they aren’t already signed in. If the product is configured with an opt-in incentive, the personal data sharing dialog appears, asking users to choose to share their information with you. The prompt includes the opt-in incentive duration. Users can select Don't Allow in this dialog and still purchase the subscription.

../Art/iap_share_info_2x.png

After users purchase the subscription, they receive a subscription confirmation email with information regarding the subscription they have purchased. The display name that you choose for your In-App Purchase product (as appropriate for this user’s territory) appears in the confirmation email as the “Name of Subscription.”

Hosting Non-Consumable Products with Apple

Apple can host your non-consumable products for you. Apple provides a reliable and familiar experience for users and handles distributing products to their devices and restoring products if needed.

When you host content with Apple, Apple stores your app’s content using the same infrastructure that supports other large-scale operations, such as the App Store. Additionally, Apple automatically downloads Apple-hosted content in the background even if your app isn’t running.

You can choose to have Apple host In-App Purchase products when you first create the products in iTunes Connect. You can also convert content that you are currently hosting on your own servers to be hosted by Apple.

To host content with Apple, you submit the content to Apple for review. You create a product in Xcode using a In-App Purchase Content template, include your content, and upload it to iTunes Connect using the Archive process. Alternatively, you can create a .pkg file from Xcode for each product and upload them all at once using Application Loader. See Using Application Loader more information about submitting In-App Purchase metadata and content to iTunes Connect.

bullet
To enable content hosting
  1. Create a new non-consumable product, as described in “To create an In-App Purchase product.”

    Alternatively, open the In-App Purchase page for an existing non-consumable product.

  2. In the In-App Purchase Details section, Hosting Content with Apple area, select Yes.

    ../Art/iap_hosting_content_2x.png
  3. Click Save.

If you accidentally enable Hosting Content with Apple, you can undo this selection by deleting the In-App Purchase product and re-configuring it. Note that you can’t use the same product ID when you re-create the product.

../Art/iap_host_delete_2x.png../Art/iap_host_delete_2x.png

Verifying an Auto-Renewable Subscription Receipt

To increase the security of the transaction between your app and Apple’s servers when validating an auto-renewable subscription, you can include a string of 32 randomly generated alphanumeric characters in the transaction receipt. Generate this parameter, known as the shared secret, in iTunes Connect.

For information about incorporating the shared secret into your app’s receipt handling, see Receipt Validation Programming Guide.

There is only one shared secret per organization; make sure that when you generate a new shared secret, all apps submitted for your organization use the new value to verify auto-renewable subscriptions.

bullet
To generate a shared secret
  1. Open the App Summary page for the app with subscriptions.

  2. Click Manage In-App Purchases.

  3. Click “View or generate a shared secret.”

    ../Art/iap_generate_secret_2x.png../Art/iap_generate_secret_2x.png
  4. In the In-App Purchase Shared Secret page, click Generate.

You can access the In-App Purchase Shared Secret page from inside the In-App Purchases page for an app or from the link in the footer of the Manage Your Apps module. This link is visible if you have at least one auto-renewable subscription set up for any app.

../Art/iap_shared_secret_button_2x.png../Art/iap_shared_secret_button_2x.png

Providing Access to Privacy Policies for Subscriptions

If your app collects user or device-related data, iTunes Connect asks for a URL linking to a privacy policy that applies to your app. Privacy policy URLs are required for apps that offer auto-renewable or free subscriptions or as required by law. Supply a privacy policy in each language in which your app displays on the App Store.