UNPKG

google-publisher-tag

Version:

Type-safe React wrapper for Google Publisher Tag (GPT).

23 lines (22 loc) 798 B
let gptPromise = null; export function loadGPT() { if (typeof window === "undefined") { return Promise.reject(new Error("GPT can only be loaded on client-side")); } if (gptPromise) return gptPromise; window.googletag = window.googletag || { cmd: [] }; gptPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.async = true; script.src = "https://securepubads.g.doubleclick.net/tag/js/gpt.js"; script.onload = () => { window.googletag.cmd.push(() => { resolve(window.googletag); }); }; script.onerror = () => reject(new Error("Failed to load gpt.js")); document.head.appendChild(script); }); return gptPromise; }