<img src="https://img.shields.io/badge/%20-ALL-%2300B180" style="float:left"/><br />
<br />
Using JWPās platform and partners, you can monetize video content with advertising and subscriptions on mobile, connected TVs, and the web.

Video landing page on TV and mobile device
<br />
JWP allows you to manage the app content from your dashboard:
VOD and live media, including their fields, images, trailers, and episodes
App landing page & menus
Subscriptions & advertising
Search & recommendations
Favorites & continue watching
<br />
JWPās app partners help you create and manage apps with engaging viewer experiences:
Tailored to your brand
Aligned with your content, such as movies, concerts, and matches
On the platforms of your choice, such as iOS, Android, Fire, Roku, and Tizen
Well-integrated with the JWP platform
<br />

Some of JWP's app partners offer proprietary platforms apart from JWP's platform to manage and customize their apps.
<br /> <hr />
## Create an app
You can create both partner-managed or self-hosted apps. Use the following sections to guide you through building and customizing your apps.
<br />
### Partner-managed apps
Use the following steps to create a partner-managed app:
(Optional) Enable <a href="/platform/docs/protection-studio-drm-overview" target="_blank">DRM content protection</a>.
<a href="/platform/docs/apps-add-app-content" target="_blank">Add app content</a> to your JWP Media Library.
(Optional) Set <a href="/platform/docs/protection-geoblocking-overview" target="_blank">geoblocking</a> or <a href="/platform/docs/protection-enable-url-token-signing" target="_blank">token signing</a>.
Build an <a href="/platform/docs/apps-app-config-overview#create-an-app-config" target="_blank">app config</a>.
Share the app config ID with your app partner. Your partner can assist you with hosting and customizing your app.
Set up [custom reports](šļ»æ) to monitor the performance of content in your apps. **You will also need to contact your JWP representative to enable this reporting feature.**

Analytics dashboard, Realtime Analytics, and Audience Retention are not supported for Apps.
<br />

Work with your app partner representative to address specific hosting and customization options.
<br /> <br />
### Self-hosted apps
If you choose not to work with an app partner, you can develop and self-host your app. You can use JWP's Delivery API and SDKs to develop these apps.
<br />
#### Open-source Web App
JWP provides an open-source framework for self-hosting web apps.
Use the following steps to create a self-hosted web app:
<a href="/platform/docs/apps-add-app-content" target="_blank">Add app content</a> to your JWP [Media Library](šļ»æ).
(Optional) Set <a href="/protection-geoblocking-overview" target="_blank">geoblocking</a>
Create an <a href="/platform/docs/apps-app-config-overview#create-an-app-config" target="_blank">app config</a>.
Copy the **app config ID**.
Under the **Apps** section on the app config details page, click **Web App (GitHub)**. The ott-web-app GitHub repository opens.
Under **Assets**, download the prebuilt artifact file.
Unzip the file.
Add <a href="https://github.com/jwplayer/ott-web-app/blob/develop/docs/initialization-file.md" target="_blank"><strong>.webapp.ini</strong></a> to the root directory.
Within **.webapp.ini**, set the app config ID as the value for `
defaultConfigSource
`.
The **.webapp.ini** file might be hidden by your operating system. Use the command-line client or consult your OS documentation to reveal hidden files.
Upload the web app to your web server.
Set up [custom reports](šļ»æ) to monitor the performance of content in your apps. **You will also need to contact your JWP representative to enable this reporting feature.**

Analytics dashboard, Realtime Analytics, and Audience Retention are not supported for Apps.
<br />

The web app is free of charge and comes without support. Web app hosting, support, and customizations are provided through app partners. Contact your JWP representative for options.
<br />
<!-- Removes the automatic page-to-page navigation at the bottom of the page -->
<style> .rm-Pagination { display: none; } </style>