Как получить согласие на использование файлов cookie AMP с помощью amp-story-agreement?

Я хочу добавить согласие на использование файлов cookie на моем статическом веб-сайте AMP. Я хотел бы воспользоваться модальным диалоговым окном, чтоamp-story-consentмог предоставить мне. Я изучал различные примеры, возможно, самый полный из них:

https://playground.amp.dev/?url=https%3A%2F%2Fpreview.amp.dev%2Fdocumentation%2Fexamples%2Fuser-consent%2Fstory_user_consent&format=websites (пример документации https://amp.dev/documentation/examples/user-consent/story_user_consent/?referrer=ampbyexample.com)

Моя проблема в том, что я хочу отображать только заголовок / сообщение / поставщиков, определенных в фрагменте JSON.

    <amp-story-consent id="consentUI" layout="nodisplay">
      <script type="application/json">
        {
          "title": "Headline",
          "message": "This is some more information about this choice. Here's a list of items related to this choice.",
          "vendors": ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10"]
        }
      </script>
    </amp-story-consent>

плюс кнопки "Принять" и "Отклонить". С согласием на использование файлов cookie у меня действительно нет ни одной страницы рассказов или какой-либо книжки с историями, но правила проверки AMP, похоже, требуют этого. Это одна проблема. На игровой площадке отображается пара кнопок "Отклонить / Принять", я бы хотел пару "Отклонить / Принять", но я не вижу, где это можно определить.

В голом amp-consentв документации есть кнопки (см. "Конфигурация согласия" на https://amp.dev/documentation/components/amp-consent/):

<div id="consent-ui">
  <button on="tap:consent-element.accept" role="button">Accept</button>
  <button on="tap:consent-element.reject" role="button">Reject</button>
  <button on="tap:consent-element.dismiss" role="button">Dismiss</button>
</div>

У кого-нибудь есть пример или руководство?


Обратите внимание, что в https://amp.dev/documentation/components/amp-consent/ есть этот пример фрагмента. В нем говорится: "Пример: отображает пользовательский интерфейс с подсказкой в ​​истории AMP".

<amp-consent layout="nodisplay" id="consent-element">
  <script type="application/json">
    {
      "consents": {
        "my-consent": {
          "checkConsentHref": "https://amp.dev/documentation/examples/api/get-consent",
          "promptUI": "consent-ui"
        }
      }
    }
  </script>
  <amp-story-consent id="consent-ui" layout="nodisplay">
    <script type="application/json">
      {
        “title”: "My title",
        “message”: "My example message.",
        “vendors”: ["Item 1", "Item 2", "Item 3", "Item 4"]
      }
    </script>
  </amp-story-consent>
</amp-consent>

Как заставить это работать? (Как я уже упоминал, у меня нет ни одной страницы рассказов, ни какой-либо книжки рассказов, как следует из фрагмента).

1 ответ

Решение

Вы не можете использовать amp-story-consent вне amp-story, который должен иметь некоторое количество amp-story-page элементы.

Другие вопросы по тегам