ng-gpt
TypeScript icon, indicating that this package has built-in type declarations

0.1.4 • Public • Published

Angular GPT

A Angular implementation of the Google Publisher Tags.

Installation

npm install --save ng-gpt

Getting Started

Import Angular GPT and pass props to the component.

// app.module.ts
import { GptModule } from 'ng-gpt';
...
@NgModule({
  declarations: [AppComponent],
  imports: [
    GptModule.forRoot({
      idleLoad: true,
      enableVideoAds: true,
      personalizedAds: false,
      singleRequestMode: false,
      cookies: false,
      ppid: '',
      centering: true,
      onSameNavigation: 'refresh',
      globalTargeting: {
        food: ['chicken', 'meatballs'],
      },
      enableLazyLoad: {
        fetchMarginPercent: 500,
        renderMarginPercent: 200,
        mobileScaling: 2.0,
      },
    }),
  ],
  providers: [],
  bootstrap: [AppComponent],
})
<!-- app.component.html -->
<gpt-ad
  id="1625556673407-0"
  adUnit="/35096353/pub-showcase"
  [sizes]="[[728, 90]]"
  [sizeMapping]="[
    { viewport: [1024, 768], sizes: [[728, 90],[300, 250]] },
    { viewport: [900, 768], sizes: [[300, 250],[210, 60]] }
    ]"
  [targetingArguments]="{ categories: ['restaurantes', 'abogados'] }"
  [collapseEmptyDivs]="true"
></gpt-ad>

You at least need to pass adUnit and one of sizes and sizeMapping.

Responsive ad

If you pass sizeMapping props instead of slotSize, Angular GPT listens for the viewport width change and refreshes an ad when the break point is hit.

<!-- app.component.html -->

<gpt-ad
  adUnit="/35096353/pub-showcase"
  [sizeMapping]="[
    { viewport: [1024, 768], sizes: [[728, 90],[300, 250]] },
    { viewport: [900, 768], sizes: [[300, 250],[210, 60]] }
    ]"
></gpt-ad>

Video ads with IMA SDK

<!-- app.component.html -->
<gpt-video
  [sizes]="[640, 480]"
  [adActions]="adInput"
  (adEvents)="adEvent($event)"
  adTagUrl="https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&cmsid=496&vid=short_onecue&correlator="
>
  <video
    class="video-js"
    controls
    preload="auto"
    data-setup="{}"
    poster="https://img.rnudah.com/images/77/7717002808.jpg"
  >
    <source src="//s0.2mdn.net/4253510/google_ddm_animation_480P.mp4" />
  </video>
  <div class="ad-container" (click)="adInput.emit('play')"></div>
</gpt-video>

You at need to pass adTagUrl and sizes

Documentation

To run examples:

  1. Clone this repo
  2. Run npm install
  3. Run ng serve or npm start for server side rendering.
  4. Point your browser to http://localhost:4200

License

MIT

Package Sidebar

Install

npm i ng-gpt

Weekly Downloads

3

Version

0.1.4

License

MIT

Unpacked Size

356 kB

Total Files

42

Last publish

Collaborators

  • niur