This article describes the process for configuring in-app purchase (IAP) of subscriptions in the BLOX NX mobile application for iOS and Android.
App Store admins can potentially self-administer subscription setup by following this guide as well as Apple’s documentation.
Play Store admins can potentially self-administer subscription setup by following this guide as well as Google’s documentation.
Please note: Customers who proceed to self-administer the IAP steps detailed below but report an issue during or immediately after setup may be subject to the following if BLOX Digital support as necessary to resolve:
- Customer to be billed BLOX Digital current hourly rate for troubleshooting efforts (1 hour minimum). If the issue can be resolved within 1 hour, BLOX Digital will resolve the issue within the initial “troubleshooting” hour.
- Customer to be provided a quote if time required to resolve the issue is more than 1 hour and will be billed for any approved quote for hourly work.
Setting up subscriptions in an NX app involves:
Creating subscription products in app stores
Associating those products in BLOX Apps manager
Linking the apps to BLOX Subscription
Creating offers in BLOX Access Control and adding them to method groups
Updating app build version in the store, testing and releasing the update
Prerequisites:
In order to successfully follow these steps, BLOX customers need the following:
A BLOX paywall product that utilizes Access Control such as BLOX Audience+
Apple App Store must have proper financial information.
Google Play Store must have proper financial information populated in your Google payments profile.
For Android, there must be a Google Services Account created and JSON populated in the BLOX Apps Manager
Getting started: Thinking about your offers.
One key question customers need to be thinking about before you begin the process of enabling subscriptions: What offers will you create for your NX app?
BLOX Digital typically will configure, and recommend, two offers – a monthly offer and an annual offer. The annual will often be discounted compared to the monthly to encourage a longer-term commitment from the user. For example, if you price a monthly offer at $9.99 (so 12 months would be $119.88), the annual might be $99, which gives the user 12 months for the price of 10.
Create subscription products: Apple App Store
First, in the App store, open your app listing and go to Monetization > Subscriptions and create a Subscription Group.
(Please note: BLOX commonly refers to “In App Purchases” when discussing subscriptions being directly purchased from the app. Apple has separate “In App Purchases” and “Subscription” options under Monetization. Apple technically reserves the term “In App Purchases” here to mean more like apps that offer one-time acquisitions – think the Candy Store in Candy Crush. Subscriptions is where you configure auto-renewable subscriptions through the App Store.)
A Subscription Group ensures that your user won’t purchase multiple subscriptions (in other words, they’ll be a monthly or an annual subscriber but they won’t be able to sign up for both.)
Name the Group
Create individual Subscription products, one for annual and one for monthly.
Reference Name: Name the product.
Product ID example naming convention: [publisher]_annual_sub. Be as consistent as you can with this naming convention with the Product ID used in Google’s Play Store.
Once you create the Subscription, populate additional metadata
Subscription Duration: 1 month for monthly or 1 year for annual. BLOX Digital does not advise to use any other options.
Family Sharing: BLOX NX apps do not support this.
Availability: It is recommended to match the general app availability under Monetization > Pricing and Availability > App Availability. If you are not making websites available in GDPR countries, you should not make your app subscriptions available in GDPR countries.
Subscription Prices: Must choose from Apple’s predefined list. It calculates other country rates automatically.
Localization: If in the United States, select English (U.S.)
Display Name: App users will see this. There is a strict character limit.
Description: Describe the offer, such as:“Get one year of [publisher] news for only $[price].” There is a strict character limit.
Repeat above steps to create another subscription for monthly or annual (whichever has not been created yet)..
Review Information: When the app is submitted for review, it must include a Screenshot of the offers page in the app. In Review Notes, it must describe how to get to the subscriptions and what are the available offers. This section also must provide a username and password to allow the App Store reviewer to proceed past the paywall during review. However, this section can’t be populated until just before the app is submitted for review so needs to be completed separately at the end of the setup process.
When all information in Subscriptions is properly included, the Status for a given subscription will change from “Missing Metadata” to “Ready to Submit”.
Create subscription products: Google Play Console
First, in the Play store, go to Monetize with Play. Under Products, choose Subscriptions and create a Subscription.
Product ID: create an ID for the subscription. Example naming convention: [publisher]_annual_sub. Be as consistent as you can with this naming convention with the Product ID used in Apple’s App Store.
Name: A short name for the subscription. Example: “[Publisher] annual subscription”
On the newly created subscription, Click “Add base plan”.
Base plan ID: use the same ID that you populated for Product ID
Type: Choose “Auto-renewing”
Billing period: Monthly or Yearly depending on which subscription offer is being created
Populate other fields as desired.
Price and availability. Select “Manage country / region availability” If you are not making your website available in GDPR countries, you should not make your app subscriptions available in GDPR countries. Save changes to the list
Select all countries / regions in the list and select “Set price”. Input a price value for the annual or monthly subscription being created. Save.
Activate the subscription.
Repeat above steps to create another subscription for monthly or annual (whichever has not yet been created.)
Configure BLOX Apps - Monetization
Once you create your subscriptions in the App Store or Play Store, you will need to associate that information as well as some other store information in the BLOX CMS App manager, which controls functionality in your apps.
Go to Design > Apps then choose the Monetization tab.
Under Apple store, populate the fields as follows:
Apple secret key: In the App Store, go to Users and Access > Integrations > Shared Secret. Copy the Shared Secret and paste here.
iOS product IDs: Populate the product IDs (for example: [publisher]_annual_sub) for the two Subscription products set up in the App Store
P8 file: In the App Store, go to Users and Access > Integrations > In-App Purchase. Next to “Active” click the + button to Generate an In-App Purchase Key. Give the key a name and click Generate. Locate the link to “Download In-App Purchase Key” and click it. Download the Key (note Apple only allows one download attempt per Key). Back in BLOX, use the search icon for this field to open a file upload window on your machine. Choose the P8 file that you downloaded when selecting “Download In-App Purchase Key”
Issuer ID: In the App Store, go to Users and Access > Integrations > In-App Purchase. Copy the Issuer ID and paste here.
Key ID: In the App Store, go to Users and Access > Integrations > In-App Purchase. Copy the resulting Key ID for the same In-App Purchase Key you generated in order to obtain the P8 file download.
Save the BLOX App manager.
Under Google Play store, populate the fields as follows:
Google Play store service account: Select the in-app purchase Google service account from the available Google service accounts previously uploaded to BLOX.
Google product IDs: Populate the product IDs (for example: [publisher]_annual_sub) for the two Subscription products set up in the Play Store
Under Organic Subscribe
Populate an Offer Group ID once you create your offers in Access Control later in this document, if you want to have a specific offer display from links to subscribe, separate from your paywall. If you do not populate an ID here, a subscribe page will default to the highest priority rule that has an offer group attached to it.
Linking the apps to BLOX Subscription and Access Control
The BLOX Subscription application is the engine that manages subscriptions and transactions. A Subscription service grants readers access to paywalled content. In the case of a mobile app, the IAP products set up in BLOX Apps that allow users to purchase direct via App Store and Play Store need to be configured as services to communicate with BLOX Subscription and Access Control to grant a user login the correct access to content in the app.
Once a service exists in Subscription, BLOX Access Control uses the service as a method group when defining rules that govern user access to content. When users log in to the app, Access Control uses the method group to verify access the user has purchased.
To create a new IAP service in Subscription, in BLOX go to Community > Subscription > Application settings and choose New > In-App Purchase
In Service Information, name it so it’s apparent it’s for the correct annual or monthly offer.
Under Configure > Apple Product ID and Configure > Android Product ID, select from the available product IDs, which Subscription obtains from BLOX Apps manager. Set Gift Articles from available options if desired.
Repeat steps for the other (annual or monthly) offer.
Next add the IAP service you created in Subscription to Access Control. Go to Community > Access Control > Application Settings and expand Access Method Groups
Open a method group that the IAP services will grant access to.
Click Add > Subscription
Select IAP services then click Select. Save.
Repeat for each method group the IAP services will grant access to.
Creating offers in BLOX Access Control and adding them to method groups
When an app user that has not yet purchased a subscription hits the paywall, you need to configure offers for them to entice them to subscribe. These offers are configured in Access Control.
For creating offers, please see our documentation on creating Access Control offers for NX.
Reminder: Populate an Offer Group ID in Design > Apps > Monetization > Organic subscribe, if you want to have a specific offer display from links in the app to subscribe, separate from your paywall.
Updating app build version in the store, testing and releasing the update
Finally, when the end-to-end workflow above is in place, the apps themselves need to be updated on the app stores. Customers need to inform BLOX support so developers can generate updated builds. This is required for Apple but may be optional for Google depending on customer’s current app version and BLOX paywall configuration. New builds will need to go through the normal app store review process prior to IAP products appearing in the apps. Testers at Apple and Google will ensure that they can complete the IAP workflow to access content.
In the Apple App Store, when submitting a build for review, the Subscription products need to be submitted together with the app. On the app release page, the in-app products need to be attached to the app when submitting.
Reminder for Apple: Go back to the subscription product and include a Screenshot of the offers page in the app, and In Review Notes, describe how to get to the subscriptions and what are the available offers. This section also must provide a username and password to allow the App Store reviewer to proceed past the paywall during review.
