The OpenChannel API makes it easy to build your own developer portal and app store. Accept app submissions from developers and showcase them inside your product, website or mobile app. To make things even easier, we’ve put together this guide to help you easily setup your OpenChannel powered app store.
The Building Blocks of an App Store
Whether you’re looking to showcase partnerships or sell applications that integrate with your API, the building blocks are the same – a marketplace and a developer portal. The fastest way to get started with your new app store implementation is by downloading the Code Samples.
A developer portal is a site where developers or partners can view documentation, receive support or submit apps to the marketplace. Developers are generally required to create an account with your site and log in in order to submit and manage their apps.
The marketplace is a site where users can discover, install or launch apps. The marketplace can be integrated directly into your product or website and also requires a user to log-in for apps to be installed or launched. We don’t require any complex log-in or single-sign-on in order integrate user accounts with the OpenChannel API. Instead, simply supply our API with an id that uniquely identifies the current user (userId) when performing requests or actions.
App Submission and Management
The first step to building your app store is to create an app submission form that developers can use to manage, edit and submit apps to your marketplace. Generally this will be within a product or a website that allows developers to register and log in. It’s important that developers be authenticated by your system in order for them to securely manage their apps.
An “app” can be a downloadable file, web application, embedded widget or anything you wish. You decide what defines an app or what information must be submitted for each app type. In fact, you can also have multiple app types within your app store.
There are several code samples that can help you get up and running faster. The sample code below allows a developer to manage, submit and edit apps for a marketplace using the OpenChannel API and can be found here.
As an overview, there are typically three different views and a few actions that are important to developer app management:
My Apps Page
The “My Apps” page allows developers to view their existing apps as well as any relevant statistics. This page can consist of statistic totals and time series as well as a listing of existing apps and drafts.
Create App Page
The “Create App” page allows developers to create a new app by filling out an app submission form. When we talk about creating an app, we are always talking about creating a new version of an app. An app version is created by populating the required app fields as well as adding custom JSON (including URLs, texts, lists and other elements) to the customData field.
To learn more about creating apps see: Creating Apps.
Edit App Page
The “Edit App” page is similar to the create app page and has the same app submission form but is intended to allow the developer to modify their app.
When we talk about updating an app, we are almost always talking about creating a new version of an app. There is an exception, a new app version is NOT created if the app version being edited has a status of “inDevelopment” (draft) or “pending” – in which case, the current version of the app will be updated. This of course, all happens automatically behind the scenes within the OpenChannel API which means that app versioning is one less thing that you need to worry about. An app version is created by overwriting the required app fields for an existing app version as well as adding custom JSON (including URLs, texts, lists and other elements) to the customData field.
To learn more about updating apps see: Updating Apps.
As soon as the app’s version is saved as a draft it can be previewed by the developer. In order to implement “preview” functionality, simply call the Get App Version API method to retrieve the app version.
To learn more about previewing apps see: Displaying Apps to the Developer.
It’s useful to allow developers to delete individual versions of an app as well as the entire app and all it’s versions. It’s important to note that any users that have already installed the app will no longer be able to view or use the app if it’s been completely deleted.
To learn more about deleting apps see: Deleting Apps.
Suspending an app temporarily hides the app from users and prevents new users from owning this app. This can be useful if a developer is having issues and need to temporarily hide their app from the marketplace.
To learn more about app suspension see: Developer App Suspension.