如何借助amp-story-consent构建AMP cookie consent?

How to construct AMP cookie consent with the help of amp-story-consent?

我想向我的 AMP 静态网站添加 cookie 许可。我想利用 amp-story-consent 可以提供给我的模态对话框。我研究了各种例子,也许最完整的是这个:

https://playground.amp.dev/?url=https%3A%2F%2Fpreview.amp.dev%2Fdocumentation%2Fexamples%2Fuser-consent%2Fstory_user_consent&format=websites (example documentation 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 验证规则似乎需要它。这是一个问题。 playground 显示拒绝/接受按钮对,我想要拒绝/接受按钮对,但我看不到可以在哪里定义它。

在裸露的 amp-consent 文档中有按钮(请参阅 https://amp.dev/documentation/components/amp-consent/ 处的 "Consent configuration"):

<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/ 有这个示例片段。它说 "Example: Displays a prompt user interface on an AMP Story"

<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>

如何让它工作? (正如我提到的,我也没有任何 故事页 或任何 故事书挡 ,正如代码片段所暗示的那样。

您不能在 amp-story 之外使用 amp-story-consent,它必须有一定数量的 amp-story-page 元素。