If your app has a subscription with multiple subscription periods, such as monthly and annual, you may not realize there are two ways to set up the subscription in Amazon’s Developer Portal. One of these ways may lead to a poor customer experience.
With the one-to-many approach, you create one in-app purchase (IAP) item with multiple subscription periods. In the screenshots below, I am setting up one subscription called “My Subscription”, with monthly and annual subscription periods. The “My Subscription” IAP item is the parent, and the monthly and annual subscription periods are the child IAP items. They have a one-to-many relationship.
When a customer starts the IAP purchase flow, the dialog puts both IAP items in a dropdown control and selects a default (there is no way to specify the default). In the example below, the monthly subscription is the default and is displayed, while the annual subscription is hidden.
This is fine, except my app advertises the subscriptions separately:
Imagine a customer selects the annual subscription, but the monthly subscription is selected in the dialog. The customer may catch it and change the selection, but it is also possible that they will become confused and choose not to purchase, or they purchase the wrong subscription. This is a poor customer experience and not what I intended.
This approach involves setting up a parent IAP item for each child subscription period. The screenshots below show two subscriptions, “My Monthly Subscription” and “My Annual Subscription,” with their respective monthly and annual subscription periods. They have a one-to-one relationship.
When a customer chooses the monthly subscription or the annual subscription, the correct subscription period will always be selected as there is only one for each parent. I have more control of what is displayed to the customer, which means I can provide a much better customer experience.
This post is part of our Tips from Solutions Architects series.