Search code examples
google-chromegoogle-chrome-extensionmanifestchrome-web-storecrx

How can I seamlessly transition from self-hosting to the web store?


I currently self-host my Chrome extension - but with the recent changes making it more complicated for less technical users to sideload Chrome extensions, I'm considering moving it to the web store.

Problem is: I don't see a clear transition plan for how to get my ~500,000+ users to download the next updated version from the web store once I get it on there.

Is it as simple as uploading my new version, and changing my update_url in the manifest.json to point to that download link? Can the update_url be something that points to a different domain name than the original extension was hosted on?


Solution

  • The main issue is that the version in the Chrome Web Store needs to have the same ID as your self-hosted version - meaning that it has to be signed with the same certificate. To achieve that you need to upload your signing certificate to Web Store as well. Add your certificate as key.pem to the ZIP file the first time you are uploading your extension, the Web Store will then automatically use it for signing (it will be removed from the extension package, don't worry).

    Once you have your extension in the Web Store under the same ID you can add a new version under your self-hosted location. Use http://clients2.google.com/service/update2/crx as your update_url. Once the Web Store has an extension version that is higher than the newest version on the self-hosted location everybody should be updated automatically.

    This answer is based on a Google groups discussion.