@adlad/plugin-poki
Version:
AdLad plugin for the Poki sdk.
2 lines (1 loc) • 1.98 kB
JavaScript
function pokiPlugin(){let e=!1,a=!1;const t={init:"init",gameLoadingFinished:"gameLoadingFinished",gameplayStart:"gameplayStart",gameplayStop:"gameplayStop",commercialBreak:"commercialBreak",rewardedBreak:"rewardedBreak",displayAd:"displayAd",destroyAd:"destroyAd",shareableURL:"shareableURL",getURLParam:"getURLParam",playtestSetCanvas:"playtestSetCanvas",onStart:"onStart",size:"size"};let i;t>0&&console.log(t);return{name:"poki",async initialize(a){if(e)throw new Error("Poki plugin is being initialized more than once");e=!0,i=a,await a.loadScriptTag("https://game-cdn.poki.com/scripts/v2/poki-sdk.js"),await PokiSDK[t.init]()},manualNeedsMute:!0,async loadStop(){a||(a=!0,PokiSDK[t.gameLoadingFinished]())},async gameplayStart(){PokiSDK[t.gameplayStart]()},async gameplayStop(){PokiSDK[t.gameplayStop]()},async showFullScreenAd(){let e=!1,a=null;try{await PokiSDK[t.commercialBreak]((()=>{e=!0,i.setNeedsMute(!0)}))}catch(t){console.warn("PokiSDK commercialBreak call was rejected",t),e=!1,a="unknown"}finally{i.setNeedsMute(!1)}return e||a||(a="no-ad-available"),{didShowAd:e,errorReason:a}},async showRewardedAd({size:e}={}){let a=!1,o=null;try{a=await PokiSDK[t.rewardedBreak]({[t.size]:e,[t.onStart]:()=>{i.setNeedsMute(!0)}})}catch(e){console.warn("PokiSDK rewardedBreak call was rejected",e),a=!1,o="unknown"}finally{i.setNeedsMute(!1)}return{didShowAd:a,errorReason:o}},showBannerAd(e){const a=[{w:728,h:90},{w:300,h:250},{w:970,h:250},{w:160,h:600},{w:320,h:50}];let i=null,o=0;for(const t of a){if(t.w>e.width)continue;if(t.h>e.height)continue;const a=t.w*t.h;a>o&&(o=a,i=t)}if(!i)return;const r=i.w+"x"+i.h;PokiSDK[t.displayAd](e.el,r)},destroyBannerAd(e){PokiSDK[t.destroyAd](e.el)},customRequests:{async getShareableUrl(...e){const a=new URLSearchParams(...e),i={};for(const[e,t]of a.entries())i[e]=t;return await PokiSDK[t.shareableURL](i)},getUrlParam:e=>PokiSDK[t.getURLParam](e),playtestSetCanvas(e){PokiSDK[t.playtestSetCanvas](e)}}}}export{pokiPlugin};