Как изменить хром-пакетный идентификатор приложения Или Почему нам нужно ключевое поле в манифесте. Json?

Я разрабатываю упакованное приложение для хранения хрома, используя одноразовые платежи из хромовых кошельков. Для моего приложения мне нужно проверить во время выполнения, если пользователь купил приложение или не решил, должен ли он быть демонстрационной функциональностью или полной функциональностью.

В соответствии с документацией API хромовой идентификации :

чтобы поддерживать постоянный идентификатор приложения, вам нужно скопировать ключ в установленном manifest.json в ваш манифест источника.

У меня есть 2 вопроса об этой процедуре:

1) при каких условиях может измениться идентификатор моей заявки? Я попытался переустановить приложение и сделал обновления, но идентификатор приложений остается тем же. Если нет способа изменить идентификатор приложений, чем для чего нужна эта процедура?

2) как я могу загрузить мой zip-архив с помощью manifest.json (который содержит поле «ключ») на панели управления Chrome? Проблема в том, что загрузчик выдает мне ошибку:

Произошла ошибка: не удалось обработать ваш элемент.

ключевое поле недопустимо в манифесте.

После загрузки в Интернет-магазин Chrome ваш идентификатор расширения является фиксированным и больше не может быть изменен.

Идентификатор получен из файла .pem который был создан при первом .pem (или в Интернет-магазине Chrome) расширения в файле .crx . Когда вы загружаете расширение в «распакованном режиме», идентификатор автоматически генерируется непредсказуемым образом. Единственный способ управлять идентификатором расширения во время разработки – установить поле "key" в файле манифеста, как предлагает документация .

Когда вы уже опубликовали расширение в Интернет-магазине Chrome, вы можете легко получить значение этого "key" с помощью средства просмотра расширений Chrome Extension . После установки расширения перейдите на страницу сведений о веб-магазине Chrome и нажмите кнопку CRX, чтобы просмотреть источник. Когда средство просмотра расширения расширения Chrome загрузило расширение, оно отобразит ключ в консоли, который можно напрямую скопировать в ваш манифест. Json:

Скриншот: открытый ключ (вставьте в manifest.json для сохранения идентификатора расширения) crxviewer.js: 528 «ключ»: «....», crxviewer.js: 529 Вычисленный идентификатор расширения: jifpbeccnghkjeaalbbjmodiffmgedin

Если вы не опубликовали расширение или не хотите использовать Интернет-магазин Chrome, вам необходимо сначала создать закрытый ключ.

  1. Перейдите в chrome://extensions/ и включите режим разработчика.
  2. Нажмите «Расширение пакета …», выберите каталог своего приложения / расширения и подтвердите.
    Теперь у вас есть .crx-файл и файл .pem. .pem копию закрытого ключа (файл .pem )!
  3. Указанное расширение можно использовать для получения той же информации. Кроме того, посетите онлайн-демонстрацию по адресу https://robwu.nl/crxviewer/ и выберите файл crx, который вы только что создали (еще раз: просто откройте консоль, чтобы увидеть «ключ» и идентификатор расширения).

Когда вы будете готовы отправить свое приложение / расширение в Интернет-магазин Chrome, выполните следующие действия:

  1. Создайте zip-файл, содержащий расширение (важно: manifest.json должен быть у корня, то есть «directory / manifest.json» плохо, «manifest.json» – это хорошо).
    • Добавьте файл key.pem как key.pem !
      (это необходимо для сохранения идентификатора расширения)
  2. Загрузите расширение в Интернет-магазин Chrome ( без поля «key» в manifest.json , CWS отклонит любую загрузку, содержащую поле «ключ»).

Для последующих обновлений «key.pem» не следует добавлять в zip-файл, потому что Интернет-магазин Chrome больше не нуждается в нем.

Надеюсь, кто-то может дать лучший ответ, чем мне. Идентификатор приложения генерируется Google, когда вы сначала загружаете его в интернет-магазин. Тем не менее, это не тот же идентификатор, который у вас есть при разработке локально. Ваш браузер Chrome создал другой идентификатор, используя какой-либо другой механизм.

Когда вы разрабатываете локально из своего каталога исходного кода в качестве распакованного расширения, и хотите использовать идентификатор, который Chrome-магазин Chrome назначил вашему приложению, вы помещаете «ключ» в свой манифест и перезагружаете приложение. Это поможет вам, потому что многие API-интерфейсы ожидают, что chrome.runtime.id (id вашего приложения) будет таким же значением, как и приложение в магазине. Вы можете оставить «ключ» в своем манифесте, и он будет проигнорирован.

  • Автоматически открывать инструменты разработчика Chrome при открытии новой вкладки / нового windows
  • Как получить URL-адреса открытых страниц из Chrome и Firefox?
  • Есть ли способ получить xpath в Google Chrome?
  • Почему Chrome игнорирует локальные куки jQuery?
  • Можно ли ввести код javascript, который ОПИСАЕТ тот, который существует в DOM? (например, функция предупреждения по умолчанию)
  • Увеличение максимального количества подключений Google Chrome на сервер до более чем 6
  • Что такое таблица стилей пользовательского агента
  • net :: ERR_INCOMPLETE_CHUNKED_ENCODING только в Chrome
  • Как определить тип mime текущей вкладки в расширении Google Chrome?
  • Получение URL текущей вкладки из Google Chrome с помощью C #
  • Отключить панель перевода Chrome на моем веб-сайте
  • Давайте будем гением компьютера.