setcooki/klaro-embed

klaro同意管理器的嵌入适配器

dev-master 2021-02-01 12:19 UTC

This package is auto-updated.

Last update: 2024-09-29 06:08:35 UTC


README

Klaro! - 用于 <iframe><embed> 小部件的 WordPress 嵌入扩展

您在 WordPress 环境中使用 Klaro! (https://github.com/kiprotect/klaro) 吗?太好了!您是否遇到过以下情况:您的 GDPR 政策要求您将某些外部提供者和服务作为可选的(例如,使用外部媒体)。由于我们知道99.9%的所有用户都会接受他们所呈现的隐私选择(默认选项),我们有时会陷入尴尬的境地。假设您的网页上有 YouTube 视频,需要“YouTube”服务,该服务根据您的政策需要主动选择或让用户明确接受该应用的使用。现在,如果用户点击默认选项(强制或网站所需的最小应用),用户无意中可能没有选择使用该网站上的“YouTube”服务,这反过来又完全省略了 YouTube 视频的使用。用户甚至不知道网站上某个地方嵌入了 YouTube 视频,因为如果没有选择,youtube iframe/embed 就永远不会渲染。

现在,如果用户没有主动选择/选择使用 YouTube 视频来消费,至少他会在每个页面上被提示有视频可用,而且他需要做的只是通过 iframe/embed 浮层接受该应用(提供者/服务)的使用,该浮层会显示提供者隐私声明的链接和接受按钮。一旦接受,选择将存储在 Klaro! 糖果中,如果应用在 Klaro! 配置中映射,或者存储在单独的扩展糖果中。在这方面,klaro-embed 作为通过 iframe/embed 代码嵌入的可选服务的扩展,具有内联功能。或者作为不需要作为 Klaro! 应用出现在 Klaro! 管理器中的外部服务的补充。

1) 要求

没有!但是这个包打算与 Klaro! 一起使用,所以如果您想有一个具有可视化界面的同意管理器,您可以安装它。但是这是强制性的,因为 klaro-embed 即使没有安装 Klaro! 也能正常工作。

2) 安装

composer require setcooki/klaro-embed

安装包就足够了,因为它会在 composer vendor/autoload.php 加载时自动启动。在您的 WordPress 后端看不到任何插件界面或其他任何东西

3) 配置

如果您已经在使用 Klaro!,可以通过扩展 Klaro! 配置文件来配置 klaro-embed https://kiprotect.com/docs/klaro/annotated-configuration 如果您使用 Klaro! WordPress 插件,您必须创建自己的 klaro-embed 配置文件,并告诉该包在哪里可以找到它。但首先,让我们进行配置并扩展它

{
  "embed": {
    "provider": [{
      "name": "youtube",
      "app": "youtube",
      "hideApp": true,
      "titleText": "By clicking the following link i agree to YouTube´s <a href='https://policies.google.com/privacy' target='_blank'>Terms of servive</a>",
      "buttonText": "Load video"
    }]
  }
}

以下参数可以使用

所有参数都应该是自解释的。

最重要的参数是 app。除非您将提供者与 Klaro! 应用(如 Klaro! 配置中设置)连接,否则 klaro-embed 将独立于 Klaro! 运行,并存储自己的糖果,任何对 Klaro! 应用同意的更改都不会影响此提供者。

4) 使用

klaro-embed 不知道 Klaro! 配置所在的位置,如果您有权访问配置以进行扩展,您必须通过设置告诉 klaro-embed Klaro! 配置文件的位置

define('KLARO_EMBED_CONFIG_PATH', 'your/path');

必须在 klaro-embed 自动加载之前定义该常量!

如果您无法访问Klaro!配置文件(无论是由于您使用Klaro! WordPress插件还是其他原因),该包将在您主题根目录中查找名为klaroConfigEmbed.json的配置文件,或在您主题根目录中的config/klaroConfigEmbed.json中查找

下一步,您需要装饰您的<iframe><embed>脚本标签,以便klaro-embed激活。将以下数据属性添加到您的标签中

<iframe src="..." data-embed data-provider="{name}"></iframe>

{name}值必须映射到配置文件中的提供者name属性!这就全部了!klaro-embed现在将根据所给予或未给予的同意来处理iframe/embed。

享受吧!