Format: application/javascript
⬇ Download File (7.7 KB)
   1  (function(e){var t={};function n(i){if(t[i])return t[i].exports;var s=t[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(i,s,function(t){return e[t]}.bind(null,s));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="a0dc")})({a0dc:function(e,t,n){"use strict";n.r(t);class i{constructor(e){this.onMessageReceivedRef=this.onMessageReceived.bind(this),this.prefixes=e.prefixes,this.receiveMessageHandler=e.receiveMessageHandler,this.inputValidator=e.inputValidator}enableReceiveMessages(e){e.addEventListener("message",this.onMessageReceivedRef,!1)}disableReceiveMessage(e){e.removeEventListener("message",this.onMessageReceivedRef)}onMessageReceived({data:e}){if("string"===typeof e&&e.startsWith(this.prefixes.input))try{const t=this.parseIncomingPayload(e);this.inputValidator(t)&&this.receiveMessageHandler(t)}catch(t){window.console.log("error parsing incoming payload",t)}}parseIncomingPayload(e){const t=e.slice(this.prefixes.input.length);return JSON.parse(t)}sendMessage(e){window.parent.postMessage(`${this.prefixes.output}${JSON.stringify(e)}`,"*")}}var s;(function(e){e["StateChange"]="stateChange",e["AdRewarded"]="adRewarded",e["Ready"]="ready",e["ViewableChange"]="viewableChange",e["TimeUpdate"]="timeUpdate",e["CloseButtonVisibilityChange"]="closeButtonVisibilityChange",e["AudioVolumeChange"]="audioVolumeChange",e["AdResized"]="adResized",e["FailToCloseAd"]="failToCloseAd"})(s||(s={}));const o="$$DAPI_SERVICE:",a="$$DAPI_AD:";var r,c,u,h,l;(function(e){e["SetDapiStatus"]="SET_DAPI_STATUS"})(r||(r={})),function(e){e["Loading"]="loading",e["Ready"]="ready",e["Resized"]="resized",e["Hidden"]="hidden"}(c||(c={})),function(e){e["StoreKitVisible"]="storeKitVisible"}(u||(u={})),function(e){e["AdRewarded"]="connection.adRewarded",e["Ready"]="connection.ready",e["AdResized"]="connection.adResized",e["ViewableChange"]="connection.viewableChange",e["TimeUpdate"]="connection.timeUpdate",e["CloseButtonVisibilityChange"]="connection.closeButtonVisibilityChange",e["AudioVolumeChange"]="connection.audioVolumeChange",e["UpdateDapiData"]="connection.updateDapiData",e["HandleFunctionCallback"]="connection.handleFunctionCallback",e["FailToCloseAd"]="connection.failToCloseAd",e["GetDapiUrl"]="connection.getDapiUrl"}(h||(h={})),function(e){e["Connected"]="connected",e["Open"]="connection.open",e["OpenStoreUrl"]="connection.openStoreUrl",e["Close"]="connection.close",e["Replay"]="connection.replay",e["UseCustomClose"]="connection.useCustomClose",e["Reward"]="connection.reward",e["TriggerEvent"]="connection.triggerEvent",e["InteractionEventName"]="interaction"}(l||(l={}));class d{constructor(e){this.version="2.0.2",this.status=c.Loading,this.isAdViewable=!1,this.audioVolume=0,this.subscriptions=new Map,this.callbacks=new Map;const t={prefixes:{input:o,output:a},receiveMessageHandler:this.handleIncomingMessage.bind(this),inputValidator:g};this.messenger=null!==e&&void 0!==e?e:new i(t)}addMessagesListener(){this.messenger.enableReceiveMessages(window)}removeMessageListener(){this.messenger.disableReceiveMessage(window)}handleIncomingMessage(e){switch(e.name){case h.AdRewarded:this.onReward();break;case h.Ready:this.onReady(e.data);break;case h.AdResized:this.onResize(e.data);break;case h.ViewableChange:this.onViewabilityChange(e);break;case h.TimeUpdate:this.onTimeChange(e);break;case h.CloseButtonVisibilityChange:this.onCloseButtonViewabilityChange(e);break;case h.AudioVolumeChange:this.onAudioChanged(e);break;case h.HandleFunctionCallback:this.onCallback(e.data);break;case h.FailToCloseAd:this.onFailToCloseAd(e);break;default:}}getVersion(){return this.version}isReady(){return this.status===c.Ready}isViewable(){return this.isAdViewable}getDeviceData(){var e;return null!==(e=this.deviceData)&&void 0!==e?e:{}}getAdData(){return this.adData}getAppData(){return this.appData}getScreenSize(){var e;return null!==(e=this.screenSize)&&void 0!==e?e:{}}getAudioVolume(){return this.audioVolume}getTimeData(){var e;return null===(e=this.adData)||void 0===e?void 0:e.timeData}isCloseButtonVisible(){var e,t;return null!==(t=null===(e=this.adData)||void 0===e?void 0:e.isCloseButtonVisible)&&void 0!==t&&t}setData(e){this.version=e.version,this.status=e.status,this.isAdViewable=e.isViewable,this.deviceData=e.deviceData,this.adData=e.adData,this.appData=e.appData,this.screenSize=e.screenSize,this.audioVolume=e.audioVolume}addEventListener(e,t){const n=this.subscriptions.get(e);n?n.add(t):this.subscriptions.set(e,new Set([t]))}removeEventListener(e,t){const n=this.subscriptions.get(e);1===(null===n||void 0===n?void 0:n.size)||void 0===t?this.subscriptions.delete(e):null===n||void 0===n||n.delete(t)}trigger(e,t){const n=this.subscriptions.get(e);n&&n.forEach(e=>e(t))}onReward(){this.trigger(s.AdRewarded)}onReady(e){this.setData(e),this.trigger(s.Ready)}onResize(e){this.screenSize=e,this.trigger(s.AdResized,this.getScreenSize())}onViewabilityChange(e){const{isViewable:t}=e.data;this.isAdViewable=t,this.trigger(s.ViewableChange,{isViewable:t})}onTimeChange(e){this.adData&&(this.adData.timeData.timeElapsed=e.data.time,this.trigger(s.TimeUpdate,e.data.time))}onCloseButtonViewabilityChange(e){this.adData&&(this.adData.isCloseButtonVisible=e.data.isViewable,this.trigger(s.CloseButtonVisibilityChange,e.data.isViewable))}onAudioChanged(e){const{volume:t}=e.data;this.audioVolume=t,this.trigger(s.AudioVolumeChange,t)}onFailToCloseAd(e){this.trigger(s.FailToCloseAd,e.data.reason)}onCallback(e){const t=this.callbacks.get(e.id);t&&(t(e.data),this.callbacks.delete(e.id))}sendConnected(){this.messenger.sendMessage({name:l.Connected})}sendClose(){this.messenger.sendMessage({name:l.Close})}sendReward(){this.messenger.sendMessage({name:l.Reward})}sendTriggerEvent(e,t){this.messenger.sendMessage({name:l.TriggerEvent,arguments:{eventName:e,data:null!==t&&void 0!==t?t:{}}})}sendOpen(e,t,n){this.messenger.sendMessage({name:l.Open,arguments:{url:e,params:null!==t&&void 0!==t?t:{},id:n}})}sendOpenStoreUrl(e,t){this.messenger.sendMessage({name:l.OpenStoreUrl,arguments:{params:null!==e&&void 0!==e?e:{},id:t}})}addCallback(e,t){this.callbacks.set(e,t)}}function g(e){return"string"===typeof e.name&&(!e.data||"object"===typeof e)}function v(e=""){return`${e}${Date.now()}${Math.random()}`}function f(e){e.addMessagesListener(),e.sendConnected();const t=(t,n,i)=>{let s;"function"===typeof i&&(s=v(),e.addCallback(s,i)),e.sendOpen(t,n,s)},n=()=>{e.sendClose()},i=(t,n)=>{e.addEventListener(t,n)},s=(t,n)=>{e.removeEventListener(t,n)},o=()=>e.getScreenSize(),a=(t,n)=>{let i;"function"===typeof n&&(i=v(),e.addCallback(i,n)),e.sendOpenStoreUrl(t,i)},r=()=>e.isReady(),c=()=>e.getDeviceData(),u=()=>e.getVersion(),h=()=>e.isViewable(),l=()=>{e.sendReward()},d=(t,n)=>{e.sendTriggerEvent(t,n)},g=()=>e.getAdData(),f=()=>e.getAppData(),b=()=>e.getAudioVolume(),m=()=>e.getTimeData(),p=()=>e.isCloseButtonVisible(),w=()=>{},C=()=>{};return{open:t,close:n,addEventListener:i,removeEventListener:s,getScreenSize:o,openStoreUrl:a,isReady:r,getDeviceData:c,getVersion:u,isViewable:h,reward:l,triggerEvent:d,getAdData:g,getAppData:f,getAudioVolume:b,getTimeData:m,isCloseButtonVisible:p,useCustomClose:w,replay:C}}window.dapi=f(new d)}});