Herunterladen und verwenden
Veröffentlicht als Open Source unter Apache-2.0 Lizenz
https://www.npmjs.com/package/xcoobee-cookie-kit-web
Was ist der Unterschied
Das XCK ist ein aktives Cookie- und Zustimmungsverwaltungsframework für Ihre Site. Dies unterscheidet sich von einem Textfeld, das nur auf Cookie-Benachrichtigungen basiert.
Die meisten aktuellen GDPR-Hinweise für Cookies für Websites sind genau das: Overlays, die Informationen anzeigen, aber die Erstellung von Cookies und die Lebenszyklen nicht aktiv verwalten. Sie sind weiterhin für den korrekten Umgang mit Cookies und Fingerabdrücken verantwortlich. Im Gegensatz dazu ist das XcooBee Cookie Kit ein echter Cookie-Zustimmungs- und Lebenszyklus-Manager. Es wird Ihnen helfen, die Prämissen der DSGVO und der europäischen E-Richtlinie korrekt umzusetzen.
Super-Schnellstart-Beispiel
- Laden Sie die Bibliothek mithilfe des Skript-Tags vom CDN:
<script id="xcoobee-cookie-kit" src="https://app.xcoobee.net/scripts/kit/xcoobee-cookie-kit.min.js"></script>
- Setzen Sie Ihre verwalteten Cookies mit
Tag in Ihrem HTML-DOM wie folgt:
abhchkshsdh Dunkelblau
- Initialisieren Sie das Cookie-Kit, um die Dinge am Ende des Renderns Ihrer Seite zu verwalten:
<script>
function blankCh(){};
XcooBee.kit.initialize({
checkByDefaultTypes: ["application","usage"],
cookieHandler: "blankCh",
position: "right_bottom",
privacyUrl: "#privacyUrl",
requestDataTypes: ["application", "usage", "statistics"],
termsUrl: "#termsUrl",
textMessage: "Welcome to our site. We manage cookies responsibly and listen to our users. You can check and uncheck which types are OK."
});
</script>
Sehen Parameterreferenz für alle Dinge, die Sie tun können.
Erledigt !!
Dies war ein supereinfaches Beispiel. Das XCK wird von hier aus Aufgaben im Zusammenhang mit der DSGVO und der E-Direktive übernehmen. Natürlich gibt es später noch viele weitere und ausführlichere Beispiele.
Video
Was ist der XCK?
Ziel des XcooBee Cookie Kits (XCK) ist es, Websites zu ermöglichen, ihre Cookie-Einwilligung effektiver und mit weniger Ärger für ihre Benutzer zu verwalten. Das XCK kann mit dem XcooBee-Netzwerk zusammenarbeiten, um das Gesamtmanagement für Benutzer und Unternehmen zu verbessern. Dies ist jedoch nicht erforderlich. Wenn der XCK unabhängig von XcooBee arbeitet, sind einige Verwaltungsfunktionen nicht verfügbar.
Mit dem XCK können Sie Ihrer Website ganz einfach ein Cookie-Zustimmungsmanagement hinzufügen. Es behandelt alle Benutzerinteraktionen, um die Zustimmung zu erhalten, und teilt der Website mit, welche Cookies für jeden Benutzer verwendet werden können, während dieser Ihre Website besucht. Ebenso kann Ihre Website jetzt informiert werden, wenn Benutzer ihre Einwilligung ändern, auch wenn sie sie nicht besuchen.
Das XCK ist eine der transparentesten und reibungslosesten Möglichkeiten, Cookies auf Ihrer Website zu verwalten. Es wird die Benutzererfahrung nicht anzeigen, wenn sie nicht benötigt wird. Gleichzeitig werden die europäischen elektronischen Richtlinien und die damit verbundenen DSGVO-Vorschriften eingehalten.
Websitebesitzer können problemlos auf Datenanfragen reagieren und bei Bedarf über das XcooBee-Netzwerk über datenschutzbezogene Anfragen berichten.
Für das XCK ist keine XcooBee-Verbindung erforderlich, damit Ihre Website funktioniert. Sie haben weiterhin Zugriff auf die meisten Einwilligungen von Benutzern, haben jedoch keine zentrale Einsichts- und Einwilligungsverwaltung.
Das XCK reagiert und lässt sich problemlos an verschiedene Bildschirme anpassen, einschließlich mobiler Anwendungen.
Schnellstart zu erreichen Tag-Beispiele.
Features
Mit dem Cookie-Kit können Sie:
- Verwenden Sie die XcooBee-Vorklassifizierung von Cookies, um vereinfachte und klare Details zur Verwendung von Cookies anzuzeigen
- Teilen Sie Ihre Cookie-Richtlinien
- Teilen Sie Ihre Nutzungsbedingungen mit
- Teilen Sie Ihre Datenschutzrichtlinie
- Bestimmen der Interaktionen zwischen Cookie-Setter und Unsetter
- Integration in Backend-Services für Cookie-Benachrichtigungen
- Stellen Sie transparent fest, ob eine Benachrichtigung erforderlich ist
- Benutzern erlauben, die Zustimmung für Cookies zu entfernen / hinzuzufügen
- Stellen Sie das Timing und die Position der Informationsanzeige ein
- Reagieren Sie ordnungsgemäß auf Einwilligungen und Entfernungsanfragen des Benutzers
Mit dem Abonnement von XcooBee können Sie auch:
- Dokumentieren Sie Ihre Interaktionen mit der Cookie-Zustimmung
- Einwilligung des Benutzers per Fernverwaltung
- Dokumentieren Sie die richtige Antwortzeit auf Benutzeranforderungen
- Stellen Sie zusätzliche Stil- und Logoelemente ein
- ermöglicht Benutzern die Verwendung von Crowd Cookie Intelligence
Einfache Cookie-Klassifizierung
Das XCK verwendet ein Klassifizierungssystem für Cookies, anstatt jedes einzelne Cookie mit seinem Ursprung aufzulisten. Durch das Einordnen von Cookies in logische Gruppen macht das XCK das technische Fachwissen zur Unterscheidung einzelner Cookies überflüssig. Benutzer können eine einfachere Entscheidung treffen, basierend auf der beabsichtigten Verwendung des Cookies anstelle des Domainnamens oder anderer technischer Kriterien.
Das XcooBee-Klassifizierungssystem ordnet Cookies allgemein einem der folgenden Typen zu:
- Erforderliche oder Anwendungs-Cookies
- Personalisierungs-Cookies
- Statistik-Cookies
- Werbe- und Marketing-Cookies
Für weitere Informationen, besuchen Sie bitte XcooBee Cookie-Klassifizierung.
Beispielanwendungen
Wir haben drei Beispielanwendungen aufgenommen, die das XCK verwenden, damit Sie es selbst in Aktion sehen können.
Einzelseitenanwendung
Unsere Café-Anwendung demonstriert die Verwendung von XCK in einer Anwendung mit nur einer Seite. Sie können auf einem Webserver wie IIS oder Apache entpacken und bereitstellen. Die Dateien befinden sich in Beispiele / cafe-spa.zip
. Überprüfen Sie die index.html
Datei für Anweisungen / Erklärungen.
Beispielanforderungs- / Antwort-App basierend auf NodeJs & Express
Unsere Pizza-Anwendung demonstriert die Verwendung des XCK in einer anforderungs- / antwortbasierten Anwendung. Sie können es entpacken und direkt auf Ihrem System bereitstellen. Für einige müssen NodeJS auf Ihrem System installiert sein. Überprüfen Sie die README.md
Datei mit Anweisungen / Erklärungen in jeder der Beispielanwendungen Single Page (SPA), Express und ReactJS:
Beispielanwendung für das Cookie-Kit
Beispiel für eine ReactJS-basierte Anwendung
Ein Klon unserer Cafe-App, um die Verwendung des XCK mit React zu demonstrieren. Wir verwenden hierfür den speziellen React Build des XCK, und Sie sollten den überprüfen React-Cookie-Kit auf npm js.
Beispiel für eine Cookie-Kit-Reaktion
Wie funktioniert das
Der Keks
Das XCK zeigt ein schwebendes Cookie-Symbol auf dem Bildschirm in einer Ecke Ihrer Wahl an. Dies ist der Ausgangspunkt für die Benutzerinteraktion. Durch Klicken auf das Cookie-Symbol öffnen Benutzer ein Popup-Einwilligungsdialogfeld, in dem sie mit Ihrer Site interagieren können.
Wenn das XCK feststellt, dass eine Benutzereinwilligung erforderlich ist, fährt es mit dem nächsten Schritt fort und öffnet das XCK-Popup-Dialogfeld:
Der Popup-Dialog
Das XCK kann automatisch feststellen, wann ein vollständiger Zustimmungsdialog oder nur das Cookie benötigt wird. So wird der Besuch vor Ort angenehmer und reibungsloser.
Bei Verwendung des XCK haben Sie:
- a) Stellen Sie zunächst fest, welche Cookies Sie derzeit auf Ihrer Website verwenden
- b) Wählen Sie dann den XcooBee-Cookie-Typ (Klassifizierung) aus, der am besten zu jedem Cookie passt
- c) Zeigen Sie Ihren Site-Besuchern das Popup des XCK-Zustimmungsdialogs an, um um Erlaubnis zu bitten
- d) Nachdem Sie die Zustimmung für eine Art von Cookie erhalten haben, setzen Sie die Cookies in dieser Gruppe für Ihren Benutzer mithilfe eines Handlers in Client-JavaScript oder eines Ziel-URL-Musters über die Serversyntax (PHP, JSP, .net usw.) oder beides.
Wenn die Cookie-Zustimmung bereits eingeholt wurde, zeigt das XCK kein weiteres Popup an. Sie können den Status über JavaScript abfragen, um die Cookies erneut zu setzen, oder dies auf der Backend-Seite verfolgen, wenn Sie die Anwendung vom Typ Request / Response verwenden.
Beispiel gehen durch
Nehmen wir ein Beispiel für eine JSP-gesteuerte Einkaufsseite, die vier Cookies verwendet. Hier ist ein Beispielprozess zur Implementierung einer ordnungsgemäßen Verwaltung der Cookie-Einwilligung mithilfe des XCK:
ein
Sie stellen fest, dass Sie die folgenden vier Cookies auf Ihrer Website verwenden.
- Ihr JSP-Sitzungscookie
- Ein Benutzer-Cookie, um das Thema des Benutzers zu verfolgen
- Ein Site-Statistik-Cookie von Ihrem Webserver
- Ein globales Statistik-Cookie von Google Analytics
b
Sie klassifizieren die Cookies in die folgenden Typen
Anwendung: JSP-Sitzungscookie
Personalisierung: Benutzer-Cookie
Statistik: lokales Webserver-Cookie und Google Analytics-Cookie
c
Du initialisieren und rendern das XCK-Skript zum Anzeigen des Popups für die Benutzereinwilligung.
d
Der Benutzer trifft eine Auswahl und klickt auf OK.
e
Das XCK ruft den JavaScript-Handlerprozess Ihrer Site auf, der die Cookies setzt oder entfernt.
Cookie-Impulse
Das Cookie-Kit verwendet eine Shortcut-Bewertungsmethode, um zu überprüfen, ob es bereits die Zustimmung des Benutzers zu Cookies erhalten hat. Dies optimiert die Einstellung von Cookies. Wenn dies erfolgreich ist, wird das Cookie-Symbol, das in einer bestimmten Ecke platziert wird, durch Impulse ersetzt. Es gibt verschiedene Farbimpulse, um anzuzeigen, dass eine Verknüpfungsauswahl erfolgt ist.
Grün: Benutzer explizite Genehmigung
Der grüne Impuls zeigt an, dass der Benutzer diese Site bereits besucht hat und die Cookie-Zustimmungseinstellungen der Site bekannt sind und erneut angewendet werden können.
Blau: Präferenzbasierte Genehmigung
Der blaue Impuls zeigt an, dass der Benutzer, obwohl er diese Site noch nicht besucht hat, Einwilligungseinstellungen für neue Sites festgelegt hat, die angewendet werden können. Dies ist nur möglich, wenn Benutzer und Website Mitglieder des XcooBee-Netzwerks sind.
Gelb: Crowd Intelligence-basierte Genehmigung
Der gelbe Impuls zeigt an, dass der Benutzer sich für die Teilnahme am XcooBee Crowd AI-Programm für Cookies entschieden hat. Das XcooBee-Netzwerk verwendet eine Crowd-basierte Analyse und setzt die Cookies basierend auf dem Feedback der Website-Besucher. Dies ist nur möglich, wenn Benutzer und Website Mitglieder des XcooBee-Netzwerks sind.
Rot: Verwenden der Website-Einstellungen
Der rote Impuls zeigt an, dass wir keine Informationen direkt vom Benutzer haben. In einem solchen Fall kann der Websitebesitzer die Websiteeinstellung für Cookies anstelle der Benutzereinstellungen verwenden. Dies ist nur möglich, wenn sich Website und Benutzer außerhalb der EU befinden.
Installieren
Sie aktivieren das XCK, indem Sie es über in Ihre Site einbetten Stichworte. Darüber hinaus geben Sie während des Aufrufs zusätzliche Parameter für das Skript-Tag an.
Einige davon sind:
- Position der Symbolschaltfläche
- Begriffe URL
- URL der Cookie-Richtlinie
- Ablaufzeit für das Widget
- Textnachricht
- Cookie-Handling-Funktion
- Site-Standardeinstellungen
- Ziel-URL
Wenn Sie XcooBee abonnieren, können Sie auch Folgendes angeben:
- Ihre Kampagnenreferenz
- Firmenlogo
- cssAutoLoad
EIN Kampagnen-ID
wird benötigt, damit das XCK mit XcooBee kommunizieren und die Verwaltung von Zustimmungen ermöglichen kann. Bitte besuche XcooBee wenn Sie ein Konto erstellen müssen. Ohne sie arbeitet das XCK im Offline-Modus.
Betriebsarten
Der XCK arbeitet in zwei Modi. Zum einen im getrennten Modus, bei dem XCK und Ihre Website ohne Verwendung des XcooBee-Netzwerks direkt interagieren. Zweitens im verbundenen Modus, in dem XCK mit dem XcooBee-Netzwerk interagiert, um Unternehmen die Dokumentation und Verwaltung der Cookie-Zustimmung zu ermöglichen und den Benutzern zusätzliche Tools zur Verwaltung und Vereinfachung der Cookie-Behandlung bereitzustellen.
Im Folgenden erklären wir, wie jeder Modus funktioniert.
Getrennter Modus
Im getrennten Modus
- Ihre Website lädt und rendert ihren Inhalt, ohne Cookies zu setzen
- Lädt den XCK mit Ihren Parametern
- Das XCK verwaltet die Benutzerinteraktion für die Zustimmung zu Cookies
- teilt Ihrer Site mit, welche Cookie-Typen festgelegt werden können.
Ihre Site setzt dann die Cookies gemäß den Benutzereinstellungen.
Verbundener Modus
Der verbundene Modus ist im Prozess ähnlich, mit Unterschieden in jedem Schritt, um zusätzliche Tools widerzuspiegeln:
Im verbundenen Modus
- Ihre Website lädt und rendert ihren Inhalt, ohne Cookies zu setzen
- Lädt das XCK mit Ihren Parametern einschließlich Ihrer Kampagnenreferenzen
- Das XCK verwaltet die Benutzerinteraktion für die Zustimmung zu Cookies. Für XcooBee-Benutzer verhandelt das XCK transparent mit Ihrer Site basierend auf den Benutzereinstellungen. XcooBee-Benutzer können ohne Unterbrechung auf Websites surfen.
- XCK teilt Ihrer Site mit, welche Cookie-Typen festgelegt werden können. Ihre Site setzt dann die Cookies gemäß den Benutzereinstellungen.
- Als Websitebesitzer können Sie alle Einwilligungen für verwaltete Cookies überprüfen. Melden Sie Compliance-Probleme und ergreifen Sie Maßnahmen, wenn Benutzer ihre Einwilligung ändern, auch wenn Sie Ihre Website nicht besuchen. Ihre Website-Besucher (Benutzer) können die Cookie-Zustimmung aktiv zentral verwalten und transparent auf Ihrer Website surfen, ohne störende Popups zu verursachen.
Verwendung des XcooBee Cookie Kits
In diesem Abschnitt wird erläutert, wie Sie das XCK auf Ihrer Site verwenden.
Verwendung des Cookie-Kits in Single Page Application (SPA)
Bei Verwendung eines SPA können Sie einen JavaScript-Handler angeben, der das Ergebnis der Benutzerinteraktion zur Cookie-Zustimmung erhalten kann. Danach müssen Sie die Skripte laden und / oder die Cookies direkt basierend auf der Interaktion des Benutzers setzen.
Da sich dies ändern kann, müssen Sie auch in der Lage sein, die Cookies zu entfernen, wenn Benutzer ihre Meinung ändern.
In beiden Fällen ruft das XCK Ihre Handlerfunktion auf, nachdem der Benutzer seine Interaktion mit XCK abgeschlossen hat.
XCK ruft Ihren JavaScript-Handler mit einem JavaScript-Objekt auf. Die Benutzereinstellungen werden im Argument aufgelistet.
Sie können finden ein Beispiel für ein SPA auf Github.
Hier ist ein Beispielobjekt.
{"Anwendung": wahr, "Verwendung": wahr, "Statistik": falsch, "Werbung": falsch}
Somit lautet die Anrufsignatur: handlerFunction (cookieObject)
.
Zum Beispiel, wenn Ihre Handlerfunktion benannt ist cookieHandler
und das Funktionsargumentobjekt wird benannt userCookiePreferences
Dies wäre die Signatur Ihrer Funktion:
cookieHandler (userCookiePreferences);
Beispiel für eine CookieHandler-Funktion:
Funktion cookieHandler (ZustimmungSeinstellungen) {if (Einwilligung.Anwendung) {// erforderliche Cookies hier setzen // ...} else {// erforderliche Cookies hier entfernen // ...}; if (ZustimmungSettings.usage) {// Benutzer-Personalisierungs-Cookies hier setzen // ...} else {// Benutzer-Personalisierungs-Cookies hier entfernen // ...}; if (ZustimmungSettings.statistics) {// Setze Site-Statistiken, die hier Cookies sammeln // ...} else {// entferne Site-Statistiken, die hier Cookies sammeln // ...}; if (ZustimmungSettings.advertising) {// hier Werbe- und Marketing- und Tracking-Cookies setzen // ...} else {// hier Werbung und Marketing- und Tracking-Cookies entfernen // ...}; }}
Sehen Sie mehr voll entwickeltes Beispiel später in diesem Dokument.
Verwendung des Cookie Kits mit Anforderungs- / Antwortsystemen wie PHP, Node, JSP, .net, CFML usw.
Das XCK kann die Erteilung und Aufhebung der Zustimmung von Cookies durch Benutzer zu Ihrer Website auch per Webhook-Post (HTTP POST) mitteilen. Sie benötigen einen über das Internet zugänglichen Endpunkt gemäß Definition von Ziel-URL
Das kann diese Nachrichten verarbeiten und die Cookies nach Cookie-Typ setzen / deaktivieren.
Abhängig von Ihrer Situation können Sie jedoch möglicherweise alle Interaktionen in JavaScript ohne erneutes Laden oder Aufrufen des Backends verarbeiten (siehe Beispiel unten).
Der HTTP-POST wird verwendet INHALTSTYP
= Anwendung / json
Der Body-Inhalt ist ein JSON-Objekt mit der Benutzerauswahl von Cookie-Typen. Es werden nur die Cookie-Typen berücksichtigt, für die Sie um Zustimmung gebeten haben.
{"Zeit": "2018-10-31T16: 40: 28", "Code": 200, "Ergebnis": {"Anwendung": wahr, "Verwendung": falsch, "Statistik": wahr}}
Wo:
Zeit => Datum der Entscheidung im UTC-Code => 200 für Erfolgsergebnis => der JSON mit Informationen zu Cookie-Typen
Ein Beispielprozess zur Behandlung der Cookie-Zustimmung über eine Anfrage / Antwort und a Handler-Seite
Muster könnte so aussehen. Ihre Handler-Seite
ist höchstwahrscheinlich ein Code, der in allen Seitenrendering-Aufrufen enthalten sein muss. Sie müssen es auch unabhängig aufrufen können.
- Ihr System startet ohne Cookies
- Wenn keine Cookies definiert sind, rufen Sie das XCK auf
- Das XCK holt die Zustimmung des Benutzers ein und ruft die an
Handler-Seite
identifiziert inZiel-URL
Parameter Handler-Seite
Speichert die Benutzerentscheidung und kennzeichnet, dass der Benutzer eine Entscheidung getroffen hat- für jeden nachfolgenden Anruf wird die
Handler-Seite
prüft, ob eine Benutzerentscheidung verfügbar ist, und legt die Cookie-Typen fest
Ihre Handler-Seite
wird wahrscheinlich diese Art von Logik verwenden
- Bestimmen Sie, ob dies ein regulärer Anruf (im Lieferumfang enthalten) oder ein Anruf von XCK ist, um die Benutzerentscheidung zu speichern
- wenn regulärer Anruf
- Bestimmen Sie, ob wir eine Entscheidung über den Typ des Benutzer-Cookies haben
- Wenn wir keine Entscheidung haben -> Laden Sie XCK durch Einfügen
Tags in HTML, um dem Benutzer die Cookie-Auswahl zu präsentieren
- wenn wir User-Cookie-Entscheidung haben -> Cookies für jeden erlaubten Typ laden
- wenn von XCK aufgerufen
- Benutzer-Cookie-Entscheidung speichern
Sie können auch unsere überprüfen Beispielanwendung Express / NodeJs auf Github.
Beispiel für die Verwendung mit einer PHP-Seite in Kombination mit einem Cookie-Kit
In diesem Beispiel wird davon ausgegangen, dass auf einer Website die PHP-Engine zum Rendern von Webseiten ausgeführt wird. Im Rahmen dieses Prozesses lädt die Website das XCK, um die Zustimmung der Benutzer zu verwalten. Sie verwalten die Cookie-Erstellung über JavaScript.
Der Managementprozess bricht in diesen Fluss ein:
ein. Die PHP-Seite schreibt die Werte für jeden Cookie-Typ in den HTML / Javascript-Stream
b. JS-Handler-Code einschließen (Beispiel unten)
c. Laden Sie XCK
ein
Pipe PHP-Variablen mit Skript-Tags in HTML
In diesem Beispiel wird davon ausgegangen, dass Sie über JS verfügen Tags für alle Cookies, die Sie zum Erstellen und Speichern in entsprechenden PHP-Variablen benötigen:
$cookie_scripts_application => die erforderlichen Anwendungscookies, zB zum Beispiel: $cookie_scripts_user => die Benutzer-Personalisierungs-Cookies zum Beispiel: $cookie_scripts_statistics => die Site-Statistik-Cookies zum Beispiel: $cookie_scripts_advertising => die Website, die Cookies bewirbt, zum Beispiel:
Sie würden jedes dieser Elemente als HTML-Codierung ausgeben
<script>
// define cookie script management scope in JS
var myCookieScripts = {};
// most likely we can set this directly since these would be required
myCookieScripts.application = "<?php echo htmlentities(preg_replace( "/\r|\n/", "", $cookie_scripts_application )); ?>";
myCookieScripts.user = "<?php echo htmlentities(preg_replace( "/\r|\n/", "", $cookie_scripts_user )); ?>";
myCookieScripts.statistics = "<?php echo htmlentities(preg_replace( "/\r|\n/", "", $cookie_scripts_statistics )); ?>";
myCookieScripts.advertising = "<?php echo htmlentities(preg_replace( "/\r|\n/", "", $cookie_scripts_advertising )); ?>";
</script>
b
Schreiben Sie einen JS-Handler
Sie müssen Ihren Handler in JS definieren. Wir bieten einige Hilfsfunktionen, mit denen Sie Ihre Cookies setzen und Ihre Skripte laden können.
/**
* parse html encoded script directives
* @param {string} htmlData - string with script tags to be loaded
* @return {object} the fully parsed html elements
*/
function xckParseHtml(htmlData) {
//parse encoded via text area
var txt = document.createElement("textarea");
txt.innerHTML = htmlData;
// now add this as html to our mirror doc
var el=document.createElement("html");
el.innerHTML = txt.innerText;
return el;
}
/**
* Load Javascript. Can load from remote file or code.
* @param {object} loadScripts - The HTMLCollection of scripts to be loaded
*/
function xckLoadJs(loadScripts) {
var i = 0;
if (loadScripts.length > 0){
for (i = 0; i < loadScripts.length; i++) {
var item = loadScripts[i];
var script = document.createElement("script");
if (item.src === "") {
script.text = item.text;
} else {
// load from file
script.async = true; // we always load async
script.src = item.src;
script.onload = function () {
console.log(`cookie script from ${item.src} is ready!`);
};
// other elements
if (item.integrity !== "") {
script.integrity = item.integrity;
}
if (item.crossOrigin !== "") {
script.crossOrigin = item.crossOrigin;
}
}
// now append to document for execution
document.body.appendChild(script);
}
}
}
/**
* This will be invoked by XCK when user clicks OK button
* @param {object} consentSettings - The collection containing user decisions
*/
function myCookieHandler(consentSettings) {
// parse cookie scripts passed from PHP
if (consentSettings.application) {
// parse cookie scripts passed from PHP
let myEl = xckParseHtml(myCookieScripts.application);
let appScripts = myEl.getElementsByTagName("script");
// set required cookies here
xckLoadJs(appScripts);
} else {
// remove required cookie here
// ...
};
if (consentSettings.usage) {
// parse cookie scripts passed from PHP
let myEl = xckParseHtml(myCookieScripts.user);
let userScripts = myEl.getElementsByTagName("script");
// set required cookies here
xckLoadJs(userScripts);
} else {
// remove user personalization cookies here
// ...
};
if (consentSettings.statistics) {
// parse cookie scripts passed from PHP
let myEl = xckParseHtml(myCookieScripts.statistics);
let statScripts = myEl.getElementsByTagName("script");
// set required cookies here
xckLoadJs(statScripts);
} else {
// remove site statistics gathering cookies here
// ...
};
if (consentSettings.advertising) {
// parse cookie scripts passed from PHP
let myEl = xckParseHtml(myCookieScripts.advertising);
let adsScripts = myEl.getElementsByTagName("script");
// set required cookies here
xckLoadJs(adsScripts);
} else {
// remove advertising and marketing and tracking cookies here
// ...
};
}
c
Laden Sie das XcooBee Cookie Kit
Wenn Sie den XCK-Dialog starten möchten, schließen Sie, wie in einigen Bereichen beschrieben, die ein Tags in Ihrem HTML-Stream.
<script id="xcoobee-cookie-kit" src="https://app.xcoobee.net/scripts/kit/xcoobee-cookie-kit.min.js"></script>
<script>
XcooBee.kit.initialize({
checkByDefaultTypes: ["application"],
cookieHandler: "myCookieHandler",
position: "right_bottom",
privacyUrl: "http://mysite.com/privacy",
requestDataTypes: ["application", "usage", "statistics"],
termsUrl: "http://mysite.com/terms",
textMessage: "Welcome to our shopping site. We use cookies to deliver a better service to you. Please let us know if this is OK."
});
</script>
Verwendung des XCK mit XcooBee-Abonnement und Hochsicherheitsdatenaustausch
Wenn Sie ein XcooBee-Abonnement haben, kann Ihre Website auch Aktualisierungen bezüglich der erteilten Einwilligung erhalten, wenn der Benutzer nicht direkt über das XcooBee-Netzwerk online ist. Diese Kommunikation erfolgt über Webhooks und eine höhere Verschlüsselungsstufe.
Als Alternative zum direkten HTTP-POST ermöglicht Ihr Abonnement für das XcooBee-Netzwerk auch die Abfrage von Ereignissen, sodass Sie das XCK für Websites verwenden können, auf die nicht direkt über das Internet zugegriffen werden kann, z. B. für Intranetsites oder Websites, die sich in der Entwicklung befinden.
Sie müssen in der Lage sein, Nachrichten von XcooBee zu verarbeiten, die PGP-Verschlüsselung zusätzlich zu HTTPS / TLS verwenden.
Das Nachrichtenmuster ist das gleiche wie im vorherigen Abschnitt beschrieben.
Sie können eines der XcooBee-SDKs verwenden, um diese Interaktion zu vereinfachen:
Die Verwendung des XcooBee-Netzwerks ist keine erforderliche Interaktion. Benutzer aktualisieren ihre Cookie-Einstellungen bei jedem Besuch transparent mit Ihrer Website.
Verwaltete Cookies und Skripte
Die meisten Cookie-Benachrichtigungen implementieren kein Lebenszyklusmanagement. Wenn Sie als Programmierer nicht das richtige Verhalten für Benutzerinteraktionsereignisse implementieren, besteht Ihr GDPR-Audit dennoch nicht und Ihr Unternehmen haftet möglicherweise für Compliance-Fehler. Der XCK bietet Ihnen eine sehr einfache Alternative, mit der Sie problemlos konform bleiben.
Die Verwendung von verwalteten Cookies und Skripten ist der einfachste Weg, Cookies mit dem XCK zu deklarieren und zu verwalten. Mit diesem Ansatz kann der XCK den Lebenszyklus Ihrer Cookies von der Erstellung bis zur Zerstörung verwalten. Es sind nur minimale Anwendungsänderungen erforderlich. Solange Ihre Anwendung ein HTML-Tag schreiben kann, können Sie verwaltete Cookies und Skripte erstellen.
Die Funktionen werden durch zwei zusätzliche HTML-Tag-Erweiterungen implementiert, die Sie verwenden können:
Sie benötigen sowohl ein öffnendes als auch ein schließendes Tag.
Sie sollten alle Ihre Tags deklarieren, bevor Sie das XCK aufrufen initialisieren()
Funktion.
xbee-cookie tag
Das Mit tag können Sie ein einzelnes verwaltetes Cookie deklarieren.
Es ist eine Deklaration für Cookies, die Sie an einer beliebigen Stelle im HTML-DOM hinzufügen können, an der Sie Cookies setzen möchten.
Der XCK verwaltet den Lebenszyklus einschließlich des automatischen Entfernens.
Wenn möglich, sollten Tags in eine Zeile geschrieben werden:
Supercookie-Wert
Der Wert des Cookies liegt zwischen dem Öffnen und Schließen von Tags (innerHTML).
Attribute:
name => der Name des Cookies, für das Sie eine Kategorie festlegen möchten => eine der Cookie-Kategorien: Anwendung, Verwendung, Statistik, Werbetage => optional: Die Anzahl der Tage zum Setzen des Cookies, sofern nicht angegeben, läuft mit der Sitzung ab
Beispiele:
Dies ist ein Wert des Cookies toller Keks
xbee-script tag
Wenn Sie Cookies über Remote-Skripte setzen oder Skripte von Drittanbietern laden müssen, die einige Cookies setzen, können Sie diese am einfachsten verwalten, indem Sie die verwenden Etikett.
Das xbee-script-Tag funktioniert wie das HTML-script-Tag, verfügt jedoch über zwei zusätzliche Attribute. Auf diese Weise können Sie vorhandene einfach konvertieren Tags in
Stichworte.
Der Tag-Inhalt ist Javascript, das später ausgeführt wird, nachdem wir die Zustimmung der Benutzer erhalten haben. Sie können auch Remote-Skripte über angeben src
Attribut wie gewohnt. Sie müssen ein schließendes Tag als einzeiliges automatisches Schließen hinzufügen ist nicht erlaubt:
Verwenden Sie stattdessen diese
Zusätzliche Attribute:
action => eine von "set" oder "unset", Sie können Bereinigungsskripte mit der Attributkategorie "unset" bereitstellen => eine der Cookie-Kategorien: Anwendung, Verwendung, Statistik, Werbung
Beispiel:
(Funktion (i, s, o, g, r, a, m) {i ['GoogleAnalyticsObject'] = r; i [r] = i [r] || Funktion () {(i [r] .q = i [r] .q || []). push (Argumente)}, i [r] .l = 1 * neues Datum (); a = s.createElement (o), m = s.getElementsByTagName (o) [ 0]; a.async = 1; a.src = g; m.parentNode.insertBefore (a, m)}) (Fenster, Dokument, 'Skript', 'https: //www.google-analytics.com/analytics .js ',' ga '); ga ('create', 'UA-XXXXX-Y', 'auto'); ga ('send', 'pageview');
Da Skripte, die aus verschiedenen Domänen geladen werden, Cookies erstellen können, auf die XDK aufgrund derselben Ursprungsrichtlinie in Browsern nicht direkt zugreifen kann, können Sie mit dem XDK Bereinigungsskripte erstellen, die für jede Domäne ausgeführt werden können.
In diesem Fall ist die Aktion
Attribut von nicht gesetzt
kann verwendet werden, um Skripte zu kennzeichnen, die Cookies bereinigen, wenn Benutzer die Einwilligung entfernen.
Beispiel:
Merken:
Sie werden ein offenes brauchen UND SCHLIESSEN
TAG AUCH, WENN SIE NUR SRC ATTRIBUTE VERWENDEN.
Vollständige Parameterreferenz
Das XCK wird mit einer Reihe von Parametern initialisiert, die das Verhalten des XCK auf Ihrer Site bestimmen. Dies kann Rendering-Speicherort, Zeitüberschreitungen, Ereignishandler, CSS usw. umfassen.
Das Folgende ist eine Liste von Parametern, die der XCK verarbeiten kann:
checkByDefaultTypes Array
Dies ist eine Reihe von Zeichenfolgen von Cookie-Typen, die standardmäßig auf Ihren Websites verwendet werden. Dies ist eine oder mehrere von [Anwendung | Nutzung | Statistik | Werbung]. Der Standardwert ist ein leeres Array.
Beispiel:
checkByDefaultTypes: ["Anwendung"]
cookieHandler Zeichenfolge
UPC Funktion
Wenn Sie eine Einzelseitenanwendung oder eine JavaScript-basierte Lösung zum Setzen von Cookies verwenden, müssen Sie eine Cookie-Handler-Funktion angeben, z handleCookies (
. Das XCK ruft diese Funktion nach Bedarf mit den Einstellungen oder Standardeinstellungen des Benutzers auf. Diese Funktion sollte die Cookies basierend auf den vom Benutzer zugelassenen Kategorien entweder entfernen oder setzen.
Dies hängt zusammen mit Ziel-URL
. Einer von cookieHandler
UPC Ziel-URL
muss angegeben werden, damit XCK gestartet werden kann.
Weitere Informationen finden Sie im Abschnitt Verwendung des XcooBee Cookie Kits
in diesem Dokument.
cookieHandler: handleCookies
displayOnlyForEU Boolescher Wert
Auf diese Weise kann das XCK den Anrufkontext für das XCK schnell auswerten, wenn sich die Benutzer außerhalb der EU befinden. Wenn das XCK feststellt, dass es außerhalb der EU geladen wird (28-Nationen-Block) und keine Benutzervorgaben oder andere Richtlinien vorliegen, kann das XCK mithilfe der checkByDefaultTypes
Rahmen. Dabei wird der Benutzer durch rotes Pulsieren informiert. Der besuchende Benutzer kann die Entscheidungen jederzeit ändern. Standard ist: false.
Ablaufzeit ganze Zahl
Dies ist die Zeit in Sekunden, in der das schwebende Cookie-Symbol angezeigt wird. Nach Ablauf der Ablaufzeit wird das schwebende Cookie-Symbol aus der Anzeige entfernt. Diese Zeit wird jedes Mal zurückgesetzt, wenn auf das Symbol geklickt wird und ein Popup-Dialogfeld angezeigt wird.
Bei Null wird das Symbol nicht entfernt.
Der Standardwert ist Null.
Ablaufzeit: 0
hideBrandTag Boolescher Wert
Dadurch wird das von XcooBee betriebene Markentag entfernt. Obwohl wir uns freuen würden, wenn unsere Arbeit korrekt dargestellt würde, verstehen wir, dass es notwendig ist, dies zu kontrollieren. Wenn Sie ein kommerzielles Unternehmen sind, empfehlen wir Ihnen, XcooBee zu abonnieren, damit wir auch in Zukunft Open-Source-Projekte wie dieses unterstützen können. Standard: false
hideOnComplete: true
hideOnComplete Boolescher Wert
Das XCK kann vollständig ausgeblendet werden, sobald der Benutzer die Auswahl des Cookie-Typs getroffen hat, oder die Auswahl kann automatisch bestimmt werden. Um das sofortige Entfernen des Cookie-Symbols zu ermöglichen, setzen Sie dies auf true. Standard: false
hideOnComplete: true
Position Zeichenfolge
Der Positionsparameter ist einer von [leftunten | linksoben | rechtsunten | rechtsoben] und gibt die Position an, von der aus der XCK sein Fenster oder schwebendes Cookie-Symbol anzeigt. Standard: left_bottom
Position: "left_bottom"
privacyUrl Zeichenfolge
erforderlich
Dies ist die Seite, auf die der Benutzer geleitet wird, um Ihre Datenschutzrichtlinie zu überprüfen. Das Cookie-Kit wird nicht ohne Daten für die Datenschutzrichtlinie gestartet.
privacyUrl: "https://mysite.com/privacy"
requestDataTypes Array
Dies ist eine Reihe von Zeichenfolgen, die auf Ihren Websites verwendet werden und für die Sie vor dem Erstellen die Zustimmung der Benutzer einholen möchten. Dies ist eine oder mehrere von [Anwendung | Nutzung | Statistik | Werbung]. Der Standardwert ist Anwendung
.
requestDataTypes: ["application"]
Ziel-URL Zeichenfolge
Wenn Sie eine auf der Request / Response-Technologie basierende Site verwenden, z. B. PHP, JSP, CFML, und die Cookies in Ihrem Code setzen, ruft der XCK über HTTP POST die von Ihnen angegebene targetUrl und einen Body-Parameter mit JSON-Payload mit dem auf Benutzereinstellungen für Cookies.
Beispiel Body Payload:
{"Zeit": "2018-10-11T15: 40: 28", "Code": 200, "Ergebnis": {"Anwendung": wahr, "Verwendung": falsch, "Statistik": falsch}}
Sie müssen dann Cookies nach Cookie-Typ entsprechend setzen. Wir empfehlen die Verwendung von HTTPS / TLS-Verbindungen, um die ordnungsgemäße Sicherheit zu gewährleisten.
Dies hängt zusammen mit cookieHandler
. Einer von cookieHandler
UPC Ziel-URL
muss angegeben werden, damit XCK gestartet werden kann.
Weitere Informationen finden Sie im Abschnitt Verwendung des XcooBee Cookie Kits
in diesem Dokument.
targetUrl: "https://mysite.com/setCookies"
TermsUrl Zeichenfolge
erforderlich
Dies ist die Seite, auf die der Benutzer geleitet wird, um Ihre Nutzungsbedingungen zu überprüfen. Das Cookie-Kit wird nicht ohne gültige Nutzungsbedingungen gestartet.
TermsUrl: "https://mysite.com/terms"
Testmodus Boolescher Wert
Der XCK kann im Testmodus ausgeführt werden. Wenn dies der Fall ist, wird ein kleines angezeigt zurücksetzen
Schaltfläche unter dem schwebenden Hauptkeks. Sie können damit den lokalen Datenspeicher löschen. Dies beschleunigt Entwicklungsaufgaben, da Sie keine Daten manuell löschen oder private Browserfenster öffnen / schließen müssen. Standard: false
testMode: true
Textnachricht Zeichenfolge
erforderlich
Dies ist die Meldung, die wir dem Benutzer anzeigen, wenn er nach Cookie-Einstellungen fragt. Diese Nachricht kann als Zeichenfolge oder als JSON formatiert werden. Bei Verwendung von JSON können Sie die Nachricht in verschiedenen Sprachen angeben. Das XCK versucht, die Standardsprache basierend auf den Browsereinstellungen zu bestimmen und auf US-Englisch zurückzugreifen, wenn es keine Bestimmung vornehmen kann. Das Cookie-Kit wird nicht ohne eine Zustimmungsnachricht gestartet, die den Benutzern angezeigt wird.
Beispiel für die Texteingabe in einer Sprache:
textMessage: "Diese Site verwendet Cookies. Bitte wählen Sie die Cookie-Typen aus, die Sie verwenden möchten, und klicken Sie dann auf OK."
Beispiel für eine Texteingabe in mehreren Sprachen:
{"en-us": "englischer Text", "de-de": "deutscher Text", "es-419": "spanischer Text", "fr-fr": "französischer Text",}
Initialisierungsparameter mit XcooBee-Abonnement
Kampagnenreferenz
Dadurch wird Ihre Kampagnen-ID mit dem XCK verbunden. Der XcooBee-Kampagnenassistent generiert es für Sie.
Firmenlogo
Das XCK kann Ihr Firmenlogo anzeigen. Ihre Cookie-Kampagnenoptionen können ein Logo hochladen und dem XCK zur Verfügung stellen.
Dieser Parameter ist nur verfügbar, wenn Sie XcooBee abonnieren.
CSS-Überschreibung
Wenn Sie Ihr eigenes CSS verwenden möchten, legt der XcooBee-Codegenerator dies basierend auf Ihrer Auswahl für Ihre Cookie-Kampagne fest. Ihr Kampagnenassistent führt Sie durch den Vorgang.
WICHTIG
Ihr Kampagnenname in der XcooBee-Kampagnenkonsole muss mit Ihrem Domainnamen übereinstimmen (erster Teil der URL, z https://mysite.com
), für die Sie das Cookie-Kit verwenden. Ist dies nicht der Fall, werden vom XcooBee-Netzwerk Fehler zurückgegeben.
Wenn Ihre Website beispielsweise unter dieser URL "http://www.mysite.com/product/hello" ausgeführt wird, lautet die Domain http://www.mysite.com
. Dies muss Ihr Kampagnenname in XcooBee sein.
Programm-Hooks
Sie können öffentliche Methoden des XCK verwenden, um Parameterinformationen festzulegen und abzurufen. Diese finden Sie unter der XcooBee.kit
Objekt.
setManagedCookie ([Kategorie: Zeichenfolge], [Cookie-Name: Zeichenfolge], [CookieValue: Zeichenfolge], [Tage: Ganzzahl])
Erstellen Sie vollständig GDPR-konforme Cookies mit dem setManagedCookie ()
Methode. Sie verlagern die gesamte Interaktion und das Life-Cylce-Management des Cookies auf das XCK. Das XCK stellt sicher, dass der Benutzer die richtige Zustimmung für das Cookie einholt, bevor es gesetzt wird, und entfernt die Cookies auch, wenn der Benutzer die Zustimmung entfernt.
Dies ist das JavaScript-Äquivalent zur Verwendung von Tag in Ihrem HTML. Wenn Sie verwaltete Cookies verwenden, sind Sie automatisch mit allen GDPR-Interaktionen kompatibel.
Optionen:
Kategorie => Erforderlich: Eine von: Anwendung, Verwendung, Statistik, Werbung CookieName => Erforderlich: Name Ihres Cookie-CookiesWert => Erforderlich: Der Wert Ihrer Cookie-Tage => Optional: Tage bis zur Perist, Standard ist 0 = Sitzung
Beispiel:
XcooBee.kit.setManagedCookie ("Verwendung", "myUserColor", "grün");
setParam ([Parameter: Zeichenfolge], [Wert: Objekt])
Verwenden Sie die setParam ()
Methode zum Festlegen eines gültigen Parameters für das XCK. Zum Beispiel um die Ziel-URL
Parameter auf einen anderen Wert. Wo Parameter [Zeichenfolge]
ist einer der gültigen Parameter und Wert [beliebig]
sind Daten für den Parameter.
XcooBee.kit.setParam ("targetUrl", "https://newsite.com/cookieProcessor");
Wenn Sie eine verwenden cookieHandler
JavaScript-Funktion, die nicht im globalen Bereich verfügbar gemacht wird, müssen Sie dem XCK über a mitteilen setParam
Anruf. Sie sollten dies nach dem Laden des XCK, aber vor dem Aufruf tun XcooBee.kit.initialize ()
.
XcooBee.kit.setParam ("cookieHandler", myCookieHandlerFunction);
Alternativ können Sie mit der richtigen Funktionsreferenz initialisieren.
<script>
XcooBee.kit.initialize({
requestDataTypes: ["application", "usage"],
checkByDefaultTypes: ["application"],
cookieHandler: myCookieHandlerFunction,
...
});
</script>
Dies kann nützlich sein, wenn Sie bestimmte Funktionen zur Laufzeit deaktivieren möchten, z hideOnComplete
Mit param kann das XCK ausgeblendet werden, nachdem der Benutzer die Cookie-Auswahl bestätigt hat.
getParam ([Parameter: Zeichenfolge]) Objekt
Ruft den Wert des aktiv verwendeten Parameters vom XCK ab.
Beispiel:
let termSite = XcooBee.kit.getParam ("termUrl");
getConsentStatus () Zeichenfolge
Gibt den aktuellen Status der XCK-Interaktion mit dem Benutzer zurück. Derzeit ist dies einer von [offen | vollständig | geschlossen].
öffnen
=> Benutzer wird momentan um Zustimmung gebeten
Komplett
=> Wir haben Einwilligungsinformationen vom Benutzer erhalten
geschlossen
=> Der Benutzer hat nicht geantwortet und die Cookie-Einwilligung ist danach abgelaufen Ablaufzeit
let ZustimmungStatus = XcooBee.kit.getConsentStatus ();
getCookieTypes () Objekt
Dies gibt die Entscheidung der Benutzer bezüglich der Zustimmung für jeden Cookie-Typ zurück. Es wird immer ein vollständiges Objekt mit allen Typen oder ein leeres Objekt zurückgegeben {}
.
Nur nach verfügbar getConsentStatus () = "vollständig"
Wenn Sie dies aufrufen, bevor wir eine Antwort vom Benutzer erhalten, geben wir ein leeres Objekt zurück.
Beispielaufruf:
let cookieTypes = XcooBee.kit.getCookieTypes ();
Beispiel für ein Rückgabeobjekt:
{"Anwendung": wahr, "Verwendung": wahr, "Statistik": falsch, "Werbung": falsch}
Beispiele für Skript-Tags
Sie werden das XCK einbetten / installieren, indem Sie Ihrer Site ein Skript-Tag hinzufügen. Hier ist ein Beispiel, wie dies aussehen könnte.
Sie müssen dies zwischendurch im HTML-Code Ihrer Site platzieren und
<body>
Stichworte. Wir empfehlen dies als letztes Skriptelement.
<script id="xcoobee-cookie-kit" src="https://app.xcoobee.net/scripts/kit/xcoobee-cookie-kit.min.js"></script>
<script>
XcooBee.kit.initialize({
requestDataTypes: ["application", "usage"],
checkByDefaultTypes: ["application"],
cookieHandler: myCookieHandler,
expirationTime: 0,
position: "left_bottom",
privacyUrl: "https://mysite.com/privacy",
termsUrl: "https://mysite.com/terms",
textMessage: "This site uses cookies to make your experience better. Please let us know which type of cookies we may use."
});
</script>
Hier ist ein Beispiel für Parameter- und Wertetypen für die Initialisierung:
<script id="xcoobee-cookie-kit" src="{URL}/scripts/kit/xcoobee-cookie-kit.min.js"></script>
<script>
XcooBee.kit.initialize({
campaignReference: <String>,
checkByDefaultTypes: <Array>[application|usage|statistics|advertising]
cookieHandler: <Function>,
expirationTime: <Number> (in seconds),
position: <String> ("left_bottom", "left_top", "right_bottom", "right_top"),
privacyUrl: <String>,
requestDataTypes: <Array>[application|usage|statistics|advertising],
targetUrl: <String>,
termsUrl: <String>,
testMode: <Boolean>,
textMessage: <String>, <Object>
});
</script>
CSS-Referenz
Alle Anzeigeelemente können überschrieben werden, wir können jedoch keine nicht standardmäßigen CSS-Werte unterstützen.
Browser-Unterstützung
Internet Explorer 11+, Google Chrome, Mozilla Firefox, Opera, Edge.
Unterstützung
Bitte benutzen Sie die Github Probleme Seite