Я пытаюсь внедрить Smartlook на наш сайт.Мы используем React, поэтому я не могу напрямую сделать то, что предлагают документы: https://smartlook.github.io/docs/web/gdpr/
Мы инициализируем Smartlook с помощью тега скрипта в index.html
<script type="text/javascript">
window.smartlook ||
(function(d) {
var o = (smartlook = function() {
o.api.push(arguments);
}),
h = d.getElementsByTagName("head")[0];
var c = d.createElement("script");
o.api = new Array();
c.async = true;
c.type = "text/javascript";
c.charset = "utf-8";
c.src = "https://rec.smartlook.com/recorder.js";
h.appendChild(c);
})(document);
smartlook("init", "somerandomstring");
</script>
Я показываюпользователь подключает модал, где он может подписаться, и когда он это делает, эта функция срабатывает:
setCookie = accept => {
const consentText = "Blabalbal";
this.setState({ showModal: false });
const date = new Date();
date.setTime(date.getTime() + 360 * 24 * 60 * 60 * 1000);
const expires = `expires=${date.toUTCString()}`;
document.cookie = `acceptTracking=${accept};${expires};path=/`;
window.smartlook("consentIP", accept ? consentText : false);
window.smartlook("consentAPI", accept ? consentText : false);
console.log(window.smartlook);
if (accept) {
ReactPiwik.push(["rememberConsentGiven"]);
}
};
В соответствии с документами this.should создать свойство, называемое соглашением.Первоначально зарегистрированный объект выглядит следующим образом: К сожалению, свойство существует, но не по согласию.После выполнения моей функции весь объект smartlook выглядит следующим образом: Таким образом, он сохранил данные, но не в нужном месте, что делает их практически бесполезными для меня.Кто-нибудь знает, как это исправить?