Streaming is available in most browsers,
and in the WWDC app.
Explore Family Sharing for in-app purchases
Family Sharing for in-app purchases lets people share their auto-renewable subscriptions and non-consumables with up to five additional family members, helping you attract new subscribers, increase user engagement, and improve retention. We'll review how you can enable this feature in App Store Connect, provide best practices when using the feature with StoreKit and App Store Server Notifications, and help you deliver a great in-app purchase experience.
- App Store Server Notifications
- Family Sharing for in-app purchases overview
- In-app purchase overview
- Supporting Family Sharing in your app
- Turn on Family Sharing for in-app purchases in App Store Connect
Hello and thank you for joining us. In this presentation, we'll discuss how you can implement Family Sharing for your subscriptions and non-consumable in-app purchases.
I'm Bryan and I'm part of the App Store Monetization Team, and I'm joined by Hemant, a developer advocate on the App Store Commerce Team.
Today, I'll be giving you an overview of Family Sharing for in-app purchases. I'll then discuss the benefits of the feature and give you some tips to make the most of it.
Finally, Hemant will discuss engineering and implementation.
So let's get started.
As a reminder, Family Sharing is a powerful tool that makes it easy for customers to share their digital purchases with their family members across all of their Apple devices. We launched it in 2014, and since then, Family Sharing has become an important part of the Apple ecosystem, bringing content and services to more customers and more devices than ever before. And we've expanded these capabilities to StoreKit as part of our ongoing investment in Family Sharing.
And that's what today's session is all about, getting started with Family Sharing for your auto-renewable subscriptions and non-consumable in-app purchases.
In addition to being available for both subscriptions and non-consumables, Family Sharing enables Purchase Sharing with up to five family members included in a customer's family group. As a developer, you can choose to implement it on existing SKUs or create new ones specifically for Family Sharing.
It's easy to implement within App Store Connect and it provides a streamlined, convenient user experience that can help you improve your monetization KPIs.
So how will Family Sharing for in-app purchases help impact your business? It helps in four key areas, subscriber growth, increased engagement, and reduction in churn, which all add up to a higher customer lifetime value.
Here's how these metrics work together using Michael as an example. Family Sharing can be a compelling way to grow your subscriber base and attract Michael to your product. Once you've acquired Michael as a subscriber, he can extend his subscription to the rest of his family members, which ultimately multiplies the number of customer touchpoints to your service and app.
And with the whole family now engaging with your product, a compelling content offering combined with effective engagement marketing can keep them coming back, and the overall effect of incremental users getting value from your product and service is reduction of churn.
And customers love Family Sharing too because it enables them to share purchases with their family members. It's been engineered alongside iOS to offer a seamless and easy to use out-of-box experience that's consistent across devices and apps. It's built with privacy in mind and eliminates the need for password sharing because each family member receives their own entitlement to a purchase. And finally, Family Sharing adds value to in-app purchases by offering up to six entitlements instead of one. This gives customers the ability to extend the number of people with access to a purchase and gives each family member a personalized app experience.
Now, let's talk about how customers and developers can make the most of the feature. Customers must first create a family group in order to begin using Family Sharing for in-app purchases. One adult in a household can do this by inviting up to five of their family members to join using their Apple IDs. Each family member uses their own account so their experience stays personalized and private. And each family member will then get instant access to the group's subscriptions and content that is eligible for sharing once the family group is created.
Let's take a look at how customers manage their sharing preferences within the Settings app. This is the Manage Subscriptions page where customers can view all of the products they're currently subscribed to.
The Share With Family toggle at the bottom of the page allows them to choose whether or not they automatically share Family Sharing enabled SKUs moving forward. This toggle is turned on by default but customers can choose to opt out at any time.
Selecting any of the listed apps will allow you to edit purchases and choose whether Family Sharing is turned on or off for a specific subscription. The initial setting is based on the Share with Family preference in the image on the left. Customers can also come here to opt into Family Sharing if it becomes available for an existing subscription.
These are the steps family groups would need to take to share their family shared subscriptions. Family Sharing is enabled automatically for any new purchases of family shared subscriptions.
When existing subscriptions become available for Family Sharing, the original purchaser has to opt into sharing within settings. This is to ensure the customer fully acknowledges the updates to their subscription's terms.
While we highly encourage you to message the availability of Family Sharing through your own marketing channels, there are two use cases where the App Store will message customers directly. Purchasers will receive a push notification when Family Sharing becomes available on an existing subscription SKU, and push notifications will also be sent to customers that purchase a new Family Sharing enabled SKU but have previously turned off the share with Family Main Toggle within the Manage Subscriptions page. These push notifications will link customers to the edit subscriptions page for that specific app where they can choose to share it with the rest of their family group.
and the process is slightly different for non-consumable in-app purchases. Family Sharing of non-consumables is automatically enabled for both new and existing purchases as long as Purchase Sharing is enabled in iCloud. The family is sharing purchases and the app is not hidden from purchase history. Family members will automatically have access to the content of the new purchases but when Family Sharing becomes available on an existing purchase, family members will have to select the Restore purchase button in order to unlock the content that has newly become available to them.
This is the screen which includes the Share Purchases with Family toggle, which must be turned on in order to share the non-consumable with family members. This page can be found by selecting Apple ID followed by Family Sharing, then Purchase Sharing within the Settings app. There are a number of ways to make your Family Sharing functionality as discoverable and engaging as possible.
App Store Connect makes it easy to turn on family sharing for all of your customers. Consider including the functionality in your onboarding flow to clearly communicate the ability to share your subscription with your family members as part of the overall service value proposition.
It's also possible to offer Family Sharing as a separate subscription tier. This purchase flow clearly differentiates between the available tiers and includes a link out to the Family Sharing overview page at the bottom of the screen.
If you do choose to offer Family Sharing as a higher tier of service, remember to group the higher tier with the individual tier or tiers in App Store Connect. This will allow you to offer upgrade messaging, like this in-app example, which highlights the value of upgrading an individual subscriber's plan to the family tier.
After a new family member completes their purchase, consider marketing the functionality to remind them to encourage their family members to take advantage of the service as shown here on the left. And on the right, you can see a message for the family members communicating that they now have access to the subscription. Hemant will walk you through how to recognize a family member and unlock access seamlessly so they can start enjoying your service right away.
And here's a live example from Night Sky. They're offering Family Sharing to all their customers on an existing SKU. On the left, you can see how they've clearly highlighted Family Sharing within their signup flow and promote that it's available at no extra cost. And on the right, you can see they've given the feature a dedicated page within their post-purchase subscriber onboarding carousel that encourages new plan owners to take advantage of the benefits. Here's a summary of a few items to keep in mind when reviewing implementation plans with your team. Consider the incremental value Family Sharing could provide to your in-app purchases and how you could use the feature to bring new subscribers to your service, decide whether you'll enable Family Sharing on a new or existing SKU, and work with your product and marketing teams to create merchandising that helps you encourage new subscribers and increase engagement with your service through Family Sharing.
I'll now hand it over to Hemant to discuss engineering and implementation of the feature. Thank you, Bryan. Hi everyone. I'm Hemant from the App Store Commerce Team. I'm here today to share with you some engineering and implementation details to consider when adopting Family Sharing for in-app purchases.
We have three sections to cover. We'll start with enabling Family Sharing per product in App Store Connect. Then I'll discuss how your application will be able to entitle service for the family members of a purchaser.
And I'll finish up with what's available in StoreKit and our App Store server notifications for Family Sharing. So let's begin with enabling Family Sharing. To start, you'll visit App Store Connect and navigate to the subscription or non-consumable product that you wish to enable. You'll see a new section labeled Family Sharing with an option to turn on.
A confirmation dialogue will be shown. And once you select Confirm, your product will be family shareable for all your customers, new and existing, within a few hours.
Now we do want to emphasize that once enabled for a given product, this cannot be reverted.
This is because customers may have based their purchasing decision on this functionality.
Once enabled in App Store Connect, StoreKit will now return the property as family shareable for any products you have enabled.
This property is available in both StoreKit 2 and original StoreKit.
You'll recognize this as shown earlier by Bryan.
This is the property you will need to allow dynamically controlling Family Sharing specific UI within your application.
And this is available from iOS 14 and later. On screen is some sample code of how your application could make use of the property from the StoreKit product object. The isFamilyShareable property is a simple Boolean allowing you to identify and merchandise family shareable products with custom UI or copy.
This property is also available in sandbox and our Xcode testing environments, and this allows you to easily test any experience changes you wish to make for a product that is family shareable. Now, let's dive deeper into how Family Sharing works for the family member.
The great news is, Family Sharing works the same way your server and application are going to be familiar with.
Your application will likely already handle this family transactions without making any changes, either server side or client side. And this is because automatically these purchases are available to all the family members. So when your application is launched, you'll see a transaction available via StoreKit, just like normal purchase. This allows you to validate that each family member is entitled to access to a subscription or a non-consumable product using their own Apple ID.
With our assumption that your app will work for family members without any changes, let's review some key best practices that ensures your application delivers an optimal experience in all scenarios.
Whatever version of StoreKit you're using, it is critical to listen out for transaction at launch and to continue to do so throughout the lifetime of the app.
This will ensure your app never misses a transaction.
This is also important for other scenarios such as Ask to Buy, PSD2, or subscription offer codes where a transaction may be finalized outside of your app.
Before you merchandise any products to the customer, it is another best practice to ensure you know their status first. You can do this by interacting with StoreKit directly or by retrieving and validating their receipt.
You can determine if they have past purchases that you need to entitle, and in the scenario where this is a new customer, you can merchandise to them appropriately.
With these two best practices, you can reduce customer escalation, minimize refunds, negative reviews, and ultimately improve the customer experience.
For a deeper dive on this subject, check out the session from WWDC Implement Proactive In-App Purchase Restore.
Now, let's illustrate what a new purchase look like for a family members and their devices.
The purchaser initiates a purchase on their device just like normal.
As this product is family shareable, transaction will be created for each family member.
If you're following our best practices, your application will see this new transaction upon launch or in real time from StoreKit.
At this point, you can validate and entitle service like any other transaction.
One thing to note, we have implemented a delay for the family transaction. This delay allows the purchaser time to disable Family Sharing if they choose to do so.
Let's take the same illustration, but for an existing subscription purchase.
As mentioned earlier, for existing purchases, Family Sharing is not enabled by default.
The purchaser would need to enable Family Sharing from the Manage Subscription page for each existing subscription. Once enabled, the transaction for each family members would be created shortly thereafter.
The ownership type property available in StoreKit and our server API allows you to distinguish between the purchaser and the family member. As Bryan shared earlier, if your application wanted to have a custom onboarding experience for family members, then this is the property you would use, or this could be helpful if you wanted to identify a customer who has the ability to manage the subscription, then you would look for the value purchased.
The property can be found within the objects of each transaction, and are also available in the app receipt.
Next up, handling subscriber events.
There are unique scenarios to be aware of as there are times you may need to revoke access from a family member, such as when a purchaser has disabled Family Sharing completely or perhaps the purchaser has received a refund for the subscription or a non-consumable. Finally, it may be the case that either of the family member or the purchaser is no longer part of the family unit. To account for the scenarios, we have the information you need via StoreKit in iOS 14 and later and from our App Store server notification.
Let's take a look at how you would check for this scenario in this code example.
As you receive updates for your transaction from your transaction listener, you should check for the presence of the revocationDate property.
This tells you this transaction has been revoked and the customer is no longer entitled to the product. However, it is important to note that there could be other transaction that entitle customers to the same or different products, so you should check and make sure the customer is receiving what they are paying for.
If you're still using original StoreKit, you need to use a callback method called didRevokeEntitlementsForProductIdentifiers. This is the same signal that some entitlements may have changed for this customers and you should verify their status.
In addition, we have an App Store server notification type called Revoke. This real time server to server notification is an indication that there may have been changes to entitlements. This notification is available for both version one and version two notifications. So when you receive either of this callbacks, it is important to reestablish the correct entitlements, meaning it's important to iterate through the entire transaction history as these customers may have had multiple entitlements. So if one has been revoked, there maybe another transaction entitling the customer for the same or a different product.
By doing this, in those cases, you're going to ensure there is no service interruption.
So let's briefly review the App Store server notification types we have today. Here, we have a list of the V2 notification, and the great news is, you'll get all the relevant lifecycle notification for the family members you would expect to receive in order to keep those customer entitlements up to date on your server. And we'll omit the ones that are exclusively relevant to the purchaser.
If you're still using V1 notification, we'll get the equivalent lifecycle updates too.
Also, if you have not already added your server endpoint in App Store Connect, you can do so at any time and experiment in the sandbox environment to help you develop support for this important lifecycle updates.
Finally, let's cover what's available in sales and trends section in App Store Connect.
With the subscription report, you may have questions, such as, How many paid subscriptions do I have by product? Or how many customers have access including family members? Available in the subscription report is the subscriber column.
This column will provide you the count of customers who have access to the subscription. This includes the primary subscribers and any entitled family members. Note that this field is only populated if the record represents more than three active subscriptions for your product.
To close out today, we would like to encourage you to consider Family Sharing functionality with either your new or existing products. You should clearly communicate Family Sharing availability and its value proposition. Remember, Family Sharing provides customer privacy and can help reduce credential sharing.
You can also find guidance on in-app purchases, including subscriptions, on the Apple Developer website.
Looking for something specific? Enter a topic above and jump straight to the good stuff.
An error occurred when submitting your query. Please check your Internet connection and try again.