@gamehubsdk/gamehub-ad-sdk
v1.0.1
Published
GameHub advertising SDK for web games: banner, interstitial and rewarded ads via a GameHub-compatible ad API.
Maintainers
Readme
GameHub Ad SDK
Web-game advertising SDK for banner, interstitial, and rewarded ads.
Install
npm install @gamehubsdk/gamehub-ad-sdkQuick start
import GameHubSDK from "@gamehubsdk/gamehub-ad-sdk";
await GameHubSDK.init({
gameId: "YOUR_GAME_ID",
apiBaseUrl: "https://api.your-domain.com",
apiKey: "YOUR_PUBLIC_GAME_KEY"
});
await GameHubSDK.showBanner({
containerId: "gamehub-banner-ad"
});Add a banner container if you do not want automatic creation:
<div id="gamehub-banner-ad"></div>Interstitial
await GameHubSDK.showInterstitial({ placementId: "level_complete" });Rewarded
await GameHubSDK.showRewardedAd({
placementId: "extra_life",
onReward: (reward) => {
console.log("Reward granted", reward);
}
});Events
GameHubSDK.on("ad_error", (event) => console.log(event.message));
GameHubSDK.on("ad_shown", (event) => console.log(event.type));
GameHubSDK.on("reward_earned", (event) => console.log(event.data));Test mode
For local SDK testing without an ad server:
await GameHubSDK.init({
gameId: "test-game",
testMode: true
});Test mode renders a visible GameHub test creative. Real campaigns require your GameHub ad API.
Ad API contract
By default the SDK POSTs to:
POST {apiBaseUrl}/v1/sdk/ads/nextRequest:
{
"gameId": "game_123",
"developerId": "developer_456",
"type": "banner",
"placementId": "home",
"pageUrl": "https://game.example/play"
}Response:
{
"ok": true,
"ad": {
"id": "ad_123",
"type": "banner",
"title": "Campaign title",
"body": "Campaign description",
"imageUrl": "https://cdn.example/ad.png",
"clickUrl": "https://advertiser.example",
"impressionUrl": "https://api.example/impression/ad_123",
"clickTrackerUrl": "https://api.example/click/ad_123"
}
}You may also return html instead of image/title/body. HTML creatives are rendered inside a sandboxed iframe.
Important
This package is the client SDK. Publishing it to npm does not create an ad network or real advertisers. For real ads, configure apiBaseUrl/adEndpoint to your GameHub backend or integrate an approved ad provider through your backend.
Never place private server secrets in browser SDK configuration.
