@advertol/service-google-dfp
Google DFP/Ad Manager service.
Install
npm install @advertol/service-google-dfp --save
Usage
<!doctype html>
<html>
<head>
<script async="async" src="https://www.googletagservices.com/tag/js/gpt.js"></script>
<script>
window.googletag = window.googletag || {};
window.googletag.cmd = window.googletag.cmd || [];
</script>
</head>
<body>
<div id="zone-becky"></div>
</body>
</html>
import advertol from '@advertol/core';
import GoogleDfpService from '@advertol/service-google-dfp';
const instance = advertol({
// …
service: [
new GoogleDfpService({
zones: [{
id: 'becky',
adUnitPath: '/42/becky',
slot: () => window.googletag.defineSlot('/42/becky', ['fluid'], 'zone-becky').addService(window.googletag.pubads())
}]
})
]
});
instance.resolve();
API
googleDfpService({ zones, onSetup, refreshZones })
zones
Type: Object[]
List of zones with their slot callback.
Property | Type | Description |
---|---|---|
slot |
Function |
Function which returns googletag.defineSlot or googletag.defineOutOfPageSlot instance. |
adUnitPath |
string |
Full path of the ad unit with the network code and unit code. |
id |
string |
Zone ID. |
onSetup
Type: Function
Define additional initialization logic.
refreshZones(slots)
Type: Function
Refresh slots.
By default, it calls refresh
method.
displayZone({element, id})
Type: Function
Display zone by ID.
By default, it calls display
method.
slots
Type: googletag.Slot[]
List of slots to refresh.
instance.addZone({ slot, adUnitPath, id })
Add new zone with slot callback.
Property | Type | Description |
---|---|---|
slot |
Function |
Function which returns googletag.defineSlot or googletag.defineOutOfPageSlot instance. |
adUnitPath |
string |
Full path of the ad unit with the network code and unit code. |
id |
string |
Zone ID. |
Browser support
Tested in IE9+ and all modern browsers.
Test
For automated tests, run npm run test:automated
(append :watch
for watcher support).
License
MIT © Ivan Nikolić