/
githubmirror
/
amphtml
Обзор
Документация
Войти
/
githubmirror
/
amphtml
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ads/vendors/impactify.js
47 строк
1 KB
Abdou
✨ Add amp-ad implementation for Impactify (#40396)
30 сен 2025, 21:38
Не верифицирован
30 сен 2025, 21:38
1c9d682
Код
Авторство
О чём код?
import {loadScript, validateData} from '#3p/3p'; import {CONSENT_STRING_TYPE} from '#core/constants/consent-state'; /** * @param {!Window} global * @param {!Object} data */ export function impactify(global, data) { validateData(data, ['appId', 'format', 'style']); const doc = global.document; const container = doc.createElement('div'); const slotId = `impactify-slot-${Math.floor(Math.random() * 10000)}`; container.id = slotId; doc.getElementById('c').appendChild(container); // GDPR and consent handling const { initialConsentMetadata, initialConsentValue, noContentAvailable, renderStart, } = global.context; const gdprApplies = initialConsentMetadata?.gdprApplies; const gdprConsent = initialConsentMetadata?.consentStringType === CONSENT_STRING_TYPE.TCF_V2 ? initialConsentValue : ''; global.impactifyTag = global.impactifyTag || []; global.impactifyTag.push({ appId: data['appId'], format: data['format'], style: data['style'], 'gdpr_consent': gdprConsent, gdpr: gdprApplies, slotId, isAmp: true, codeName: `${data['width']}x${data['height']}`, onAd: () => renderStart(), onNoAd: () => noContentAvailable(), }); loadScript(global, 'https://ad.impactify.io/static/ad/tag.js'); }