Files

159 lines
4.7 KiB
JavaScript

window.adsbygoogle = window.adsbygoogle || [];
const adBreak = adConfig = function (o) {
adsbygoogle.push(o);
}
var rewardReadyShowAds = null;
adConfig({
preloadAdBreaks: 'on',
sound: 'on',
onReady: () => {
console.log("AdConfig Ready");
},
});
function InitSDKJs() {
// Game start logic
let adConfigPromise =
new Promise((resolve, reject) => adConfig({
preloadAdBreaks: 'on',
onReady: () => resolve(true)
}));
let timeoutPromise =
new Promise((resolve, reject) => {
setTimeout(() => {
console.log("Ad timeout");
resolve(false);
}, 2000);
});
// Whatever happens first resolves this promise.
Promise.race([
adConfigPromise,
timeoutPromise
]).then((shouldShowPreRoll) => {
console.log("start game called");
LoadRewardedAdsJs();
myGameInstance.SendMessage('RHMAdsManager', 'InitSucceed', 'ca-pub-8349441957149316');
});
}
function CallInterstitialAdsJs() {
console.log("Intersititial Ads")
adBreak({
type: 'next',
name: 'restart-game',
beforeAd: () => {
console.log("Pause Game")
pauseGameBeforeAds()
},
afterAd: () => {
console.log("Resume Game - After Ad")
}, // Resume Game
adBreakDone: (placementInfo) => {
console.log("AdBreak Completed - AdBreak Done");
resumeGameAfterAds()
},
});
}
function LoadRewardedAdsJs() {
console.log("LoadRewardedAds");
adBreak({
type: 'reward', // ad shows at the start of the next level
name: 'extra-life',
beforeAd: () => {
},
afterAd: () => {
console.log("afterAd");
},
beforeReward: (showAdFn) => {
console.log("beforeReward");
},
adDismissed: () => {
console.log("adDismissed");
},
adViewed: () => {
console.log("adViewed");
},
adBreakDone: (placementInfo) => {
console.log("adBreak complete ");
console.log("Break Type = " + placementInfo.breakType);
console.log("Break Name = " + placementInfo.breakName);
console.log("Break Format = " + placementInfo.breakFormat);
console.log("Break Status = " + placementInfo.breakStatus);
// Check the breakStatus and call the appropriate function
if (placementInfo.breakStatus === "notReady" || placementInfo.breakStatus === "timeout" || placementInfo.breakStatus === "frequencyCapped" ||
placementInfo.breakStatus === "error" || placementInfo.breakStatus === "noAdPreloaded" || placementInfo.breakStatus === "other") {
RewardedAdsNotLoaded();
}
else {
RewardedAdsLoaded();
}
},
});
}
function CallRewardedAdsJs() {
console.log("Call Rewarded Ads");
adBreak({
type: 'reward', // ad shows at the start of the next level
name: 'extra-life',
beforeAd: () => {
console.log("beforeAd");
pauseGameBeforeAds();
}, // You may also want to mute the game's sound.
afterAd: () => {
console.log("afterAd");
}, // resume the game flow.
beforeReward: (showAdFn) => {
console.log("beforeReward");
showAdFn();
},
adDismissed: () => {
console.log("adDismissed");
RewardedAdsDismissed();
},
adViewed: () => {
console.log("adViewed");
RewardSuccessful();
},
adBreakDone: (placementInfo) => {
console.log("adBreak complete ");
},
});
}
function RewardedAdsLoaded() {
console.log("Rewarded Ads Available")
myGameInstance.SendMessage('RHMAdsManager', 'isRewardedAdsLoaded', 'true');
}
function RewardedAdsNotLoaded() {
console.log("Rewarded Ads Not Available")
myGameInstance.SendMessage('RHMAdsManager', 'isRewardedAdsLoaded', 'false');
}
function RewardedAdsDismissed() {
console.log("Reward Dismissed")
myGameInstance.SendMessage('RHMAdsManager', 'RewardedAdsFailed');
}
function RewardSuccessful() {
console.log("gainReward")
myGameInstance.SendMessage('RHMAdsManager', 'RewardedAdsSuccessfull');
}
function pauseGameBeforeAds() {
myGameInstance.SendMessage('RHMAdsManager', 'pauseGame');
}
function resumeGameAfterAds() {
myGameInstance.SendMessage('RHMAdsManager', 'resumeGame');
}