Prebid не распознает CMP
Я пытаюсь настроить Prebid для отправки значения согласия GDPR поставщикам общих служб. Я реализовал CMP, но в консоли я вижу, что Prebid просто игнорирует его
ВНИМАНИЕ: CMP не найден. Возобновление аукциона без согласия данных согласно config. не определено
Я понятия не имею, почему Prebid не распознает CMP, он совместим с IAB, поэтому все должно быть в порядке. Есть идеи, где я ошибся?
Изменить: проблема в том, что я реализовал установку с prebid.org на мой сайт
pbjs.que.push(function() {
pbjs.setConfig({
consentManagement: {
cmpApi: 'iab',
timeout: 5000,
allowAuctionWithoutConsent: true
}
});
Также внесены изменения в файл prebid.js, который теперь содержит адаптер AgreementManagement.
script type = "text / javascript" src = "http://testowa.epizy.com/prebid2.9.0.js" async>
Я создал cmp digi-trust из https://github.com/adform/cmp а также внедрил его на своем сайте.
Все выглядит хорошо, CMP работает нормально, я получаю согласие и вижу его в своей консоли. Однако Prebid не видит, что существует CMP, и он выдает предупреждение с информацией, о которой я упоминал ранее.
Поэтому, несмотря на то, что я получаю согласие и вижу cookie-файл, запрос объявления обойдется без него, потому что prebid его не распознает.
Мне нужно это согласие на отправку запроса на объявление в SSP.
Надеюсь, мне стало немного легче понять, в чем моя проблема. Я мог бы предоставить тестовую страницу, если это необходимо.
0 ответов
По какой-то причине он не распознает файл cookie, возможное исправление - просто отправить файл cookie как статический:
{
cmpApi: 'static',
timeout: 5000,
allowAuctionWithoutConsent: true,
consentData: {
getConsentData: {
gdprApplies: true,
hasGlobalScope: false,
consentData: 'COOKIE CONTENT'
},
getVendorConsents: {
metadata: 'COOKIE CONTENT',
gdprApplies: true
}
}
}
Таким образом вы отправите весь файл cookie, чтобы он работал, но обратите внимание, что вам нужны все атрибуты, о которых я упоминал выше (проблемы с предварительными ставками, не связанные с этим). На всякий случай убедитесь, что вы проверили cookie.
Похоже, вы не реализовали функцию заглушки __cmp. Вот что должно произойти на вашей странице:
- Определите функцию window.__ cmp () (встроенную или синхронно)
- Асинхронно загрузите CMP (cmp.bundle.js), который заменяет window.__ cmp () фактическим CMP.
- Асинхронная загрузка Prebid
Prebid.js вызывает __cmp (). Ping(), чтобы узнать, загружен ли настоящий __cmp (). Если __cmp () вообще не существует, он просто предполагает, что вы не реализовали CMP, и проводит аукцион.
Ознакомьтесь с главой "Сценарий установки" документации DigiTrust CMP. Требуемый код также находится здесь:https://github.com/digi-trust/cmp/blob/master/src/docs/lib/stub.js
У меня такая же проблема. У меня все заработало, когда я загрузил сценарий CMP синхронно перед библиотекой prebid.js с включенным модулем управления согласием.
также изменено: allowAuctionWithoutConsent: false