Wikimedia Product/Wikimedia Product Infrastructure team/Web Store Notes

The Product Infrastructure team (passively) maintains browser extensions allowing app users to add the current wiki page to their default reading list.

Web store links:

The Safari extension is a legacy .safariextz-style extension and is no longer available through official Apple channels as of the sunset of the Safari Extension Gallery in September 2019. It will require converting to a Safari App Extension if we wish to distribute it again through the app store. (T251311)

Code repos:

Quick startEdit

PackagingEdit

  • zip up files intended for distribution
  • make sure manifest.json is in the root directory of the zip file

PublishingEdit

ChromeEdit

Sign inEdit
  1. go to https://chrome.google.com/webstore/developer/dashboard
  2. sign in as androiddevconsole@wikimedia.org
To add a new extensionEdit
  1. click "add new item"
  2. upload the zip file
  3. add all relevant screenshots/details
  4. save draft or publish

NOTE: See full process for detailed instructions

To edit an existing extensionEdit
  1. click the "edit" link corresponding to the relevant extension
  2. adjust desired info

FirefoxEdit

Sign inEdit
  1. go to https://addons.mozilla.org/en-US/developers/
  2. sign in as androiddevconsole@wikimedia.org
To add a new extensionEdit
  1. click "submit a new add-on"
  2. upload the zip and add screenshots and brief summary
  3. submit
  4. full description and details can be added later

NOTE: see full process for detailed instructions

To edit an existing extensionEdit
  1. click "edit listing" for the relevant add-on
  2. to upload a new version, click "upload new version" in the upper left box
  3. click "edit" in any section to edit any other desired info

Full processEdit

Web store process notes copied from https://docs.google.com/document/d/19EQStRx3jNPoEm6M9L6sozk9r9jfQJ1yBuIwK7tf7mU/edit

ChromeEdit

  1. Create your app’s zip file
    1. Must contain app’s manifest:
      1. App name
      2. Version
    2. Images
      1. Icon, at least one screenshot and one promo image
    3. If using Native Client, can reduce size of download package
  2. Create a developer account
    1. Use new account instead of personal
    2. https://developer.chrome.com/webstore/terms
    3. For hosted app, need to prove that your dev account owns the URLs that comprise the app
    4. To have Chrome Web Store show “Available for Android”, app must have same name as Google Play listing, both apps owned by same dev account
  3. Upload your app
    1. If need app ID or OAuth access token to complete code = need to upload while still writing code
    2. Otherwise can wait until app is finished; can upload many times before publishing
    3. Sign into dev account from above
    4. If never uploaded before, need to accept dev agreement
  4. Pick a payments system
    1. Can omit for free apps
  5. Provide store content
    1. Detailed description of app
    2. 128x128 icon (may reuse app icon) - for store
    3. At least one 1280x800 or 640x400 screenshot or YouTube video
    4. 440x280 small tile icon - for Chrome Web Store wall
      1. https://developer.chrome.com/apps/manifest/icons
    5. Primary category where app should be listed
    6. App’s language
  6. Pay the developer signup fee
    1. Before publishing 1st app, pay one-time $5 fee
  7. Publishing to test accounts
    1. Will not appear in search results
    2. Need to give testers direct link to listing
    3. Will need to unpublish app if want to publish to world later
  8. Publishing to the world
    1. Internationalizing
      1. Decide which locales you want to support.
      2. Internationalize and localize the app's UI.
      3. Localize your app's name and description.
      4. Upload your app using the Chrome Developer Dashboard.
      5. Edit your listing, providing localized versions of the detailed description and screenshots.
      6. Specify which regions you want to support.
  9. Control how fast your app reaches users
    1. “Max deploy percentage” control can limit the percentage of existing users that are updated to the latest version of the app through the Chrome auto-update mechanism

FirefoxEdit

  • Icons: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/icons
  • https://developer.mozilla.org/en-US/Add-ons/AMO/Policy/Agreement
  • Must provide testing info, and, if applicable, testing credentials required to use the add-on if an account is needed for any part of the add-on’s functionality
  • Must provide human-readable source code during submission, as well as instructions on how to reproduce the build
  • Must disclose how the add-on collects, uses, stores and shares user data in the privacy policy field on AMO
  • Privacy policy must be the full policy text; it cannot be a link to an externally hosted privacy policy. In addition, the privacy policy must:
    • be specific and exclusive to the add-on,
    • clearly describe the purpose of the data collection,
    • set forth the exact data to be collected,
    • address the add-on’s particular privacy properties.
    • A summary of this information must be included in the add-on’s listing description.
  • Add-on must be signed using a Mozilla Certificate
  • https://developer.mozilla.org/en-US/Add-ons/AMO/Policy/Agreement
  • Firefox Account
  • Describe Add-on:
    • Name
    • Add-on URL
    • Summary
    • This add-on is experimental
    • This add-on requires payment, non-free services or software, or additional hardware
    • Select up to 2 Firefox categories for this add-on
    • Select up to 2 Firefox for Android categories for this add-on
    • Support email and website
    • License
    • This add-on has a privacy policy
    • Notes to Reviewer