doubleclick event specific types

This commit is contained in:
Joe Flateau
2019-04-06 21:07:26 -04:00
parent 6f7a141fb8
commit 502030eaed
2 changed files with 22 additions and 16 deletions
@@ -262,9 +262,11 @@ googletag.pubads().updateCorrelator();
// The listener will be called only when the pubads service renders a slot.
// To listen to companion ads, add a similar listener to
// googletag.companionAds().
googletag.pubads().addEventListener("slotRenderEnded", (event: googletag.events.SlotRenderEndedEvent) => {
googletag.pubads().addEventListener("slotRenderEnded", (event) => {
console.log("Slot has been rendered:");
console.log(event);
console.log(event.isEmpty);
console.log(event.lineItemId);
console.log(event.creativeId);
});
// 2. Slot render ended listener, slot specific logic.
@@ -273,7 +275,7 @@ googletag.pubads().addEventListener("slotRenderEnded", (event: googletag.events.
// however, programmatically filter a listener to respond only to a certain
// ad slot, using this pattern:
let targetSlot = slot1;
googletag.pubads().addEventListener("slotRenderEnded", (event: googletag.events.SlotRenderEndedEvent) => {
googletag.pubads().addEventListener("slotRenderEnded", (event) => {
if (event.slot === targetSlot) {
// Slot specific logic.
}
@@ -283,7 +285,7 @@ googletag.pubads().addEventListener("slotRenderEnded", (event: googletag.events.
// The listener will be called when the impression is considered viewable.
// This event also operates at service level, but, as above, you can filter
// to respond only to a certain ad slot by using this pattern:
googletag.pubads().addEventListener("impressionViewable", (event: googletag.events.ImpressionViewableEvent) => {
googletag.pubads().addEventListener("impressionViewable", (event) => {
if (event.slot === targetSlot) {
// Slot specific logic.
}
+16 -12
View File
@@ -25,9 +25,17 @@ declare namespace googletag {
}
interface Service {
addEventListener(
eventType: "slotRenderEnded",
listener: (event: events.SlotRenderEndedEvent) => void
): void;
addEventListener(
eventType: "impressionViewable",
listener: (event: events.ImpressionViewableEvent) => void
): void;
addEventListener(
eventType: string,
listener: (event: events.ImpressionViewableEvent | events.SlotOnloadEvent | events.SlotRenderEndedEvent | events.slotVisibilityChangedEvent) => void
listener: (event: events.Event | events.ImpressionViewableEvent | events.SlotOnloadEvent | events.SlotRenderEndedEvent | events.slotVisibilityChangedEvent) => void
): void;
getSlots(): Slot[];
}
@@ -155,32 +163,28 @@ declare namespace googletag {
}
namespace events {
interface ImpressionViewableEvent {
interface Event {
serviceName: string;
slot: Slot;
}
interface SlotOnloadEvent {
serviceName: string;
slot: Slot;
interface ImpressionViewableEvent extends Event {
}
interface SlotRenderEndedEvent {
interface SlotOnloadEvent extends Event {
}
interface SlotRenderEndedEvent extends Event {
advertiserId?: number;
creativeId?: number;
isEmpty: boolean;
lineItemId?: number;
serviceName: string;
size: number[] | string;
slot: Slot;
sourceAgnosticCreativeId?: number;
sourceAgnosticLineItemId?: number;
}
interface slotVisibilityChangedEvent {
interface slotVisibilityChangedEvent extends Event {
inViewPercentage: number;
serviceName: string;
slot: Slot;
}
}
}