@alugha/ima
v2.2.1
Published
A library for asynchronously loading the Google IMA SDK with static typing for the SDK
Downloads
26,166
Readme
Typed Google IMA SDK
A library without runtime dependencies for asynchronously loading the Google IMA SDK, including TypeScript type definitions for the SDK itself.
For information on the Google IMA SDK itself, please visit Google's official documentation.
Installation
yarn add @alugha/ima
or npm install --save @alugha/ima
Usage
TypeScript with async loading
With promises and CommonJS modules:
const { loadImaSdk, google } = require("@alugha/ima");
loadImaSdk()
.then(ima => {
// Use the IMA SDK like any other typed module
const adDisplayContainer: google.ima.AdDisplayContainer = new ima.AdDisplayContainer(
document.getElementById("ad-container")
);
adDisplayContainer.initialize();
})
.catch(() => {
console.log("SDK could not be loaded. Check your ad blocker!");
});
With async
/ await
and ES2015 modules:
import { loadImaSdk, google } from "@alugha/ima";
const example = async () => {
try {
const ima = await loadImaSdk();
// Use the IMA SDK like any other typed module
const adDisplayContainer: google.ima.AdDisplayContainer = new ima.AdDisplayContainer(
document.getElementById("ad-container")
);
adDisplayContainer.initialize();
} catch (e) {
console.log("SDK could not be loaded. Check your ad blocker!");
}
};
TypeScript without async loading
If you prefer to directly load the SDK using a script tag, you can still make
use of the included type definitions in types/ima.d.ts
.
Disclaimer
We are not involved in the development of the Google IMA SDK itself. This library is not connected to Google in any way either.