How to change AddOn ID?

I would like to change the AddOn ID of my extension. Unfortunately, I used an e-mail address at the time of publishing. I no longer have access to this and I find it misleading if the WebExtension continues to run under this ID. If I have interpreted this correctly, it is not possible to change the ID directly. The advice was that I should publish a new extension. My problem now is that I don’t know how to migrate the settings and, above all, the users to the new extension without causing any effort for the user.

Hence the following questions:

  1. how can I automatically install AddOn B when updating AddOn A?
  2. how can I automatically migrate/transfer the settings from AddOn A to AddOn B?
  3. how can I automatically uninstall AddOn A when step 2 has been successfully completed?

There are two things you could be referring to:

  1. the browser_specific_settings.gecko.id set in your manifest.json file

  2. the slug used on AMO (e.g. example in addons.mozilla.org/firefox/addon/example)

If you mean #1, then it’s not possible to change it once it has been published. The ID unique identifies the add-on and is therefore fixed. Browsers do not allow developers to migrate migrate users from one add-on to another for abuse reasons.

If you mean #2, you can change the slug if you wish. Head over to the AMO Developer Hub and select the add-on you want to modify. On the edit page for that add-on, click the edit button in the “Describe Add-on” section, change the “Add-on URL” value, and click “Save Changes”. Be aware that if you change the add-on URL, other add-ons can use the old URL.

Yes, im referring to browser_specific_settings.gecko.id. Im aware, that i cant change this. However I could think about the following process, if this is possible:

  • Update the old AddOn and show the user a page, where i explain, why he needs to install a other AddOn. Currently, im not aware how to open such a internal page.
  • On this page is a button which trigger onClick the automatic install of the new AddOn. I don’t know, if such a process is possible or how to do that.
  • If install is finished (maybe something like onInstalled), the process moves on and read the settings of the old AddOn and send this to the new AddOn. I don’t know if this is possible with sendMessage.
  • When the new AddOn receives the message, it should import the settings as its own settings.
  • If this is done, the new AddOn could do a sendMessage to the old AddOn which triggers automatic removal of the old AddOn. I dont know if there is something, to trigger the removal of a AddOn.

This are a lot of steps, but in my opinion the user has full control about the complete process. It shouldn’t have any security risk, because, its triggered only with the button click. But before i start this, there are a lot things, which is unclear for me and i need help with my open questions.