Marketplace Config File Instructions

What is a Marketplace Config File?

he Marketplace Config file provides information about an app (such as support info, price and availability) in a simple document usable by both users and the Firefox Marketplace. This allows users to make informed decisions about apps before installing them.

If you are planning to publish your app on the Firefox Marketplace, you also need to have an App Manifest file.

Creating the Marketplace Config File

Conventions: File Name, Location, and Format

  • Name: marketplace.config (must use the .config extension)
  • Location: your app's root directory
  • Format: JSON (must be valid JSON)

Path Handling

Internal paths must be absolute from the app's origin, for example, /images/myicon.png.

Internal paths also must be served from the same origin as the app.

External paths must be fully qualified. For example, if you have a Packaged App but host icons on your own server, the icons path would be http://mywebapp/images/myicon.png.

Requirements for Submitting to the Firefox Marketplace

If you want to publish your app to the Firefox Marketplace, your Marketplace Config must contain the required fields below.

  • support
  • privacy_policy
  • categories
  • ratings
  • flash_required
  • screen_size
  • screenshots
  • countries
  • price
  • in_app_products (if user can make in-app purchases)
  • payment_provider (if users purchase the app or make in-app purchases)
  • paid_upgrade_of (if app is a paid upgrade of another app)

Marketplace Config File Validation

If you’re submitting to the Firefox Marketplace, your Marketplace Config file must pass Marketplace Validation.

Try our Marketplace Config Validator (link coming soon), which will help you identify any errors. Or you can use this API (coming soon) to validate your Marketplace Config file.

Required Marketplace Config Fields

support

  • email: The support email address Required.
  • url: The URL of a support website or support forum. Optional.
"support": {
   "email": "support@mywebapp.com",
   "url": "http://www.mywebapp.com/support"
}

privacy_policy

Required.

A human-readable document describing your app’s privacy policy. The privacy policy should explain:

  • How the app gathers personal information about its users.
  • What the app does with that information once it has it.
  • What happens when this policy changes.

The maximum length of a privacy policy is 5000 characters. You can substitute the text for a URL that links to the privacy policy.

"privacy_policy": "We will never sell your data. For more, read https://mywebapp.com/privacy/"

Privacy Policy Resources:

categories

Required.

Up to 2 categories in which your app should be listed on the Firefox Marketplace. See a list of categories.

"categories": [ "productivity", "social" ]

rating

Required.

  • submission_id: Submission ID value from ratings certificate
  • security_code: Security code value from ratings certificate

To obtain a ratings certificate, go to IARC.

"ratings": {
  "submission_id": "14",
  "security_code": "J59TS1P"
}

flash_required

Required.

Does your app require Flash? true or false.

"flash_required": false

screen_size

Required.

The screen size(s) your app works on. You must define at least one screen_size from the following values:

  • mobile
  • tablet
  • desktop
"screen_size": [ "mobile", "tablet", "desktop" ]

screenshots

Required.

The screenshots (and/or videos) displayed in the App Details page for end-users. These also appear in search results pages.

You must define 3 screenshots, each with dimensions of 1920x1080 pixels. Files will appear in the order in which they’re specified in your App Manifest.

File formats:

  • Images: JPG, PNG, or GIF
  • Videos: WebM
"screenshots": [
  "/images/splash_page.png",
  "/images/settings-page.jpg",
  "/images/promo.webm"
]

countries

Required.

The countries in which the app is available to download via the Firefox Marketplace. Choose one of these values:

"countries": [ "co", "de", "hu", "mx", "pl" ]
Tip: The list of countries that Firefox Marketplace supports is constantly growing. When a change to the list happens, we send a message to all developers. Sign up for a Firefox Marketplace Devhub account to make sure you receive these messages.

price

Required.

The price tier for your app. Choose one of these values:

"price": "tier_40"

in_app_products

Required if users can purchase products within your app.

For each product a user can purchase in your app, define these values:

"in_app_products": {
  "50 coins": "tier_10",
  "100 coins": "tier_40",
  "power up": "tier_80"
}

payment_provider

Required if price is not free.

Information about the payment provider(s) used by your app. Currently the Firefox Marketplace supports Bango as a payment provider (more coming soon).

To complete this field, you need a token for each payment_provider. The token is the unique ID for your payment_provider given to you by the Firefox Marketplace Developer Hub.

"payment_provider": {
  "bango": {
    "token": "2Lw6I1Rwz1twtZP7fdjF83ujiCOfRZL2AoMiOTM2xhAhdiC2am"
  }
}
Tip: When you make your app available globally, be sure to register for all available payment providers.
Caution: If payment_provider is not defined for an app with price of tier_#, it will fail validation.

paid_upgrade_of

Required if this app is a paid upgrade of another app.

The name of the free app that this paid app upgrades.

"paid_upgrade_of": "Back to Candyland Free"
Caution: The developer name and developer url fields of both your paid and free apps must contain the same values. If the these values don’t match, your app will fail validation.

Optional Marketplace Config Fields

homepage

The URL for the app’s homepage. Optional.

"homepage": "http://www.mywebapp.com"