Итак, я работаю над расширением Chrome, которое не будет размещено в интернет-магазине Google, поэтому мне нужно будет добавить к нему функцию автоматического обновления, однако мне нужно, чтобы оно было немного более динамичным, я попытаюсь проиллюстрировать, что Я пытаюсь выполнить небольшой сценарий, чтобы это не казалось бессмысленным.
Сценарий
Мне нужно иметь расширение, которое имеет разные выпуски для каждой версии, то есть каждая версия имеет бесплатную версию и платную (многофункциональную) версию, и всякий раз, когда выпускается новая версия, расширение будет обновляться в соответствии с его изданием.
Другими словами, сервер должен иметь возможность определять версию пользователя и предоставлять файл crx в соответствии с ней, «т.е. динамический».
Что я пробовал/думаю
1. Я попытался установить файл cookie с выпуском расширения, поэтому, когда происходит автоматическое обновление, сервер может проверить его и сгенерировать файл xml, к сожалению, я обнаружил, что файлы cookie не отправляются в заголовки автообновления, отправленные хромом .
2. Я могу заставить расширение разговаривать с сервером при запуске Chrome, поэтому оно отправит свою версию, поэтому сервер сохранит ее вместе с IP-адресом, и когда произойдет автоматическое обновление, сервер проверит IP-адрес запроса и сопоставит его. это с изданием для предоставления xml, я думаю, это может сработать, но это довольно хромой метод.
3. Я могу использовать нативные приложения для изменения файла манифеста, чтобы он указывал на другой XML-файл в соответствии с выпуском, я думаю, это тоже сработает, но я не поддерживаю использование нативных приложений.
4. Я пытался найти способ изменить параметры get-запроса (т.е. добавить пользовательские параметры, такие как издание), но, похоже, это невозможно сделать.
5. Я могу разделить разные выпуски на разные расширения (т.е. бесплатная версия будет в другом пакете, чем платная), однако мне интересно сделать все в одном, чтобы пользователь мог обновить/понизить свою подписку без установки/ удаление расширения, которое у них уже есть.
Я думаю, что это все, и я надеюсь, что у кого-то будет лучшее представление о том, как я могу выполнить то, что я пытаюсь сделать.
P.S. Я знаю, что название довольно расплывчатое, но я не смог найти лучшего, поэтому, если вы придумали лучшее название, сообщите мне.