Format: application/javascript
1 "use strict";(()=>{var n=class{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(!(typeof e!="string"||!e.startsWith(this.prefixes.input)))try{let i=this.parseIncomingPayload(e);this.inputValidator(i)&&this.receiveMessageHandler(i)}catch(i){window.console.log("error parsing incoming payload",i)}}parseIncomingPayload(e){let i=e.slice(this.prefixes.input.length);return JSON.parse(i)}sendMessage(e){window.parent.postMessage(`${this.prefixes.output}${JSON.stringify(e)}`,"*")}};var P="$$MRAID_SERVICE:",c="$$MRAID_AD:";var l=(r=>(r[r.OmidStartSession=5]="OmidStartSession",r[r.OmidFinishSession=6]="OmidFinishSession",r[r.OmidImpressionOccurred=7]="OmidImpressionOccurred",r[r.TemplateLoaded=10]="TemplateLoaded",r[r.MrailImpression=11]="MrailImpression",r))(l||{});var s=class{constructor(e){this.callbacks=new Map;this.isAdViewable=!1;this.mraidAdData={campaignId:"",creativeId:0};this.status="loading";this.version="3.0";this.playerVersion="";this.sdkAbName=-1;this.ett="";this.isCloseButtonVisible=!1;this.audioVolume=0;this.placementType="inline";this.expandProperties={height:0,width:0,useCustomClose:!1,isModal:!1};this.orientationProperties={allowOrientationChange:!1,forceOrientation:"none"};this.currentAppOrientation={orientation:"portrait",locked:!1};this.resizeProperties={height:0,width:0,offsetX:0,offsetY:0,customClosePosition:"top-right",allowOffscreen:!0};this.screenSize={height:0,width:0};this.currentPosition={...this.screenSize,x:0,y:0};this.defaultPosition={...this.screenSize,x:0,y:0};this.supportFeaturesList={inlineVideo:!0,sms:!1,tel:!1,calendar:!1,storePicture:!1};this.subscriptions=new Map;let i={prefixes:{input:P,output:c},receiveMessageHandler:this.handleIncomingMessage.bind(this),inputValidator:k};this.messenger=e??new n(i)}addMessagesListener(e){this.messenger.enableReceiveMessages(e)}removeMessageListener(e){this.messenger.disableReceiveMessage(e)}addEventListener(e,i){let o=this.subscriptions.get(e);o?o.add(i):this.subscriptions.set(e,new Set([i]))}removeEventListener(e,i){let o=this.subscriptions.get(e);o?.size===1||i===void 0?this.subscriptions.delete(e):o?.delete(i)}getVersion(){return this.version}handleIncomingMessage(e){switch(e.name){case"stateChange":this.onStateChange(e.data);break;case"ready":this.onReady();break;case"updateMraidData":this.setData(e.data);break;case"error":this.onError(e.data);break;case"audioVolumeChange":this.onAudioVolumeChange(e.data);break;case"sizeChange":this.onSizeChange(e.data.width,e.data.height);break;case"viewableChange":this.onViewableChange(e.data);break;case"navigationButtonVisibilityChange":this.onNavigationButtonVisibilityChange(e.data);break;case"appOrientationChange":this.onAppOrientationChange(e.data);break;case"exposureChange":this.onExposureChange(e.data);break;default:}}getState(){return this.status}getPlacementType(){return this.placementType}isViewable(){return this.isAdViewable}expand(e){window.console.log(`MRAID Client | expand is not supported, url: ${e}`)}getExpandProperties(){return{...this.expandProperties}}setExpandProperties(e){this.isValidExpandPayload(e)&&(this.expandProperties={...this.expandProperties,...e})}getOrientationProperties(){return{...this.orientationProperties}}setOrientationProperties(e){this.isValidOrientationPayload(e)&&(this.orientationProperties={...this.orientationProperties,...e})}getCurrentAppOrientation(){return{...this.currentAppOrientation}}getResizeProperties(){return{...this.resizeProperties}}setResizeProperties(e){this.isValidResizePayload(e)&&(this.resizeProperties={...this.resizeProperties,...e})}resize(){window.console.log("MRAID Client | resize is not supported in ad-player")}useCustomClose(e){window.console.log(`MRAID Client | useCustomClose is not supported in ad-player.
2 Params: ${JSON.stringify(e)}`)}getCurrentPosition(){return{...this.currentPosition}}getDefaultPosition(){return{...this.defaultPosition}}getScreenSize(){return{...this.screenSize}}getAudioVolume(){return this.audioVolume}supports(e){return typeof e=="string"&&(this.supportFeaturesList[e]??!1)}isNavigationButtonVisible(){return this.isCloseButtonVisible}getPlayerVersion(){return this.playerVersion}getSdkAbName(){return this.sdkAbName}getEtt(){return this.ett}getMraidAdData(){return this.mraidAdData}sendOpen(e){this.messenger.sendMessage({name:"connection.open",arguments:{url:e}})}sendOpenStoreUrl(){this.messenger.sendMessage({name:"connection.openStoreUrl"})}sendClose(){this.messenger.sendMessage({name:"connection.close"})}sendUnload(){this.messenger.sendMessage({name:"connection.unload"})}sendReward(){this.messenger.sendMessage({name:"connection.reward"})}sendGeneralMessage(e){this.messenger.sendMessage({name:"connection.generalMessage",data:e})}sendLoaded(){this.messenger.sendMessage({name:"connection.mraidAdLoaded"})}sendShowNavigationButtons(){this.messenger.sendMessage({name:"connection.showNavigationButtons"})}isValidOrientationPayload(e){return!!e&&typeof e=="object"&&(e?.hasOwnProperty("allowOrientationChange")||!!e?.hasOwnProperty("forceOrientation"))}isValidResizePayload(e){return!!e&&typeof e=="object"&&(e?.hasOwnProperty("offsetX")||e?.hasOwnProperty("offsetY")||e?.hasOwnProperty("height")||e?.hasOwnProperty("width")||e?.hasOwnProperty("customClosePosition")||!!e?.hasOwnProperty("allowOffscreen"))}isValidExpandPayload(e){return!!e&&typeof e=="object"&&(e?.hasOwnProperty("height")||e?.hasOwnProperty("width")||e?.hasOwnProperty("useCustomClose")||!!e?.hasOwnProperty("isModal"))}setData(e){this.placementType=e.placementType,this.screenSize=e.screenSize,this.audioVolume=e.audioVolume,this.isAdViewable=e.isViewable,this.playerVersion=e.playerVersion,this.sdkAbName=e.sdkAbName,this.ett=e.ett,this.mraidAdData=e.mraidAdData}trigger(e,i){let o=this.subscriptions.get(e);o&&o.forEach(d=>d(i))}onStateChange(e){this.status=e,this.trigger("stateChange",e)}onReady(){this.trigger("ready")}onError(e){this.trigger("error",e)}onAudioVolumeChange(e){this.audioVolume=e,this.trigger("audioVolumeChange",e)}onSizeChange(e,i){this.screenSize={width:e,height:i},this.trigger("sizeChange",{width:e,height:i})}onViewableChange(e){this.status!=="loading"&&(this.isAdViewable=e,this.trigger("viewableChange",e))}onExposureChange(e){this.trigger("exposureChange",e)}onNavigationButtonVisibilityChange(e){this.isCloseButtonVisible=e.isVisible,this.trigger("navigationButtonVisibilityChange",{isVisible:e.isVisible,button:e.button})}onAppOrientationChange(e){this.currentAppOrientation=e}};function k(t){return typeof t.name=="string"}function g(t){t.addMessagesListener(window),t.sendLoaded();let e=()=>"2.0",i=(a,p)=>{t.addEventListener(a,p)},o=(a,p)=>{t.removeEventListener(a,p)},d=()=>t.getState(),r=()=>t.getPlacementType(),h=()=>t.isViewable(),v=a=>t.sendOpen(a),m=()=>t.sendOpenStoreUrl(),y=a=>t.expand(a),M=()=>t.getExpandProperties(),b=a=>t.setExpandProperties(a),x=()=>t.getOrientationProperties(),f=()=>t.getCurrentAppOrientation(),S=a=>t.setOrientationProperties(a),w=()=>t.getResizeProperties(),C=a=>t.setResizeProperties(a),E=()=>t.resize(),V=()=>t.sendClose(),O=()=>t.sendUnload(),R=a=>t.useCustomClose(a),A=()=>t.getCurrentPosition(),z=()=>u(),D=()=>t.getDefaultPosition(),u=()=>t.getScreenSize();return{getVersion:e,addEventListener:i,removeEventListener:o,getState:d,getPlacementType:r,isViewable:h,expand:y,getExpandProperties:M,getOrientationProperties:x,getCurrentAppOrientation:f,getResizeProperties:w,open:v,openStoreUrl:m,setExpandProperties:b,setOrientationProperties:S,setResizeProperties:C,resize:E,close:V,unload:O,useCustomClose:R,getCurrentPosition:A,getMaxSize:z,getDefaultPosition:D,getScreenSize:u,getAudioVolume:()=>t.getAudioVolume(),supports:a=>t.supports(a),reward:()=>t.sendReward(),generalMessage:a=>{l[a.name]&&t.sendGeneralMessage(a)},isNavigationButtonVisible:()=>t.isNavigationButtonVisible(),getPlayerVersion:()=>t.getPlayerVersion(),getSdkAbName:()=>t.getSdkAbName(),getEtt:()=>t.getEtt(),showNavigationButtons:()=>t.sendShowNavigationButtons(),getMraidAdData:()=>t.getMraidAdData()}}window.mraid=g(new s);})();
3