Distributing your app
After you've added features to your app, you need to decide how to distribute it to merchants.
The way you choose to distribute your app depends on its purpose and your audience. You can't change the distribution method after you select it, so make sure that you understand the different capabilities and requirements of each type.
Capabilities and requirementsAnchor link to section titled "Capabilities and requirements"
The following table shows the capabilities and requirements that are associated with each distribution method:
|Distribution model||Number of stores||App type||Authorization or authentication method||Approval required||Limitations|
|Public distribution||Can be installed on multiple Shopify stores||Public||OAuth. If embedded, then OAuth and session tokens.||Yes||Must sync certain data with Shopify|
|Custom distribution||Installed on a single Shopify store or on multiple stores that belong to the same Plus organization||Custom||OAuth. If embedded, then OAuth and session tokens.||No||Can't use the Billing API to charge merchants|
|Shopify admin||Installed on a single Shopify store||Custom||Authenticate in the Shopify admin||No|
Deprecated app typesAnchor link to section titled "Deprecated app types"
The following app types can no longer be created:
- Private apps: Deprecated as of January 2022. A private app was a type of app that one merchant could install directly on their store. If you want to create an app specifically for one merchant's store, then you can create a custom app instead. As of January 20, 2023, all private apps have been automatically migrated and converted to custom apps.
- Unpublished apps: Deprecated as of December 9, 2019. An unpublished app was type of public app that one or many merchants could install and had all the same functionality as other public apps. However, the app didn't require any approval from Shopify.