UNPKG

@wscsports/blaze-rtn-ima-ads

Version:
104 lines (103 loc) 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BlazeGlobalDelegateHelper = void 0; var _blazeRtnSdk = require("@wscsports/blaze-rtn-sdk"); class BlazeGlobalDelegateHelper { static registerDelegate(delegate) { BlazeGlobalDelegateHelper.onIMAAdEvent(delegate?.onIMAAdEvent); BlazeGlobalDelegateHelper.onIMAAdError(delegate?.onIMAAdError); BlazeGlobalDelegateHelper.additionalIMATagQueryParams(delegate?.additionalIMATagQueryParams); BlazeGlobalDelegateHelper.customIMASettings(delegate?.customIMASettings); BlazeGlobalDelegateHelper.overrideAdTagUrl(delegate?.overrideAdTagUrl); } static onIMAAdEvent(callback) { const eventName = 'BlazeIMA.onAdEvent'; if (callback) { _blazeRtnSdk.BlazeGlobalEvents.createEventSubscription(eventName, data => { try { const eventType = data['eventType']; callback({ eventType }); } catch (e) { console.error('onIMAAdEvent', e); } }); } else { _blazeRtnSdk.BlazeGlobalEvents.cancelEventSubscription(eventName); } } static onIMAAdError(callback) { const eventName = 'BlazeIMA.onAdError'; if (callback) { _blazeRtnSdk.BlazeGlobalEvents.createEventSubscription(eventName, data => { try { const errorMessage = data['errorMessage']; callback(errorMessage); } catch (e) { console.error('onIMAAdError', e); } }); } else { _blazeRtnSdk.BlazeGlobalEvents.cancelEventSubscription(eventName); } } static additionalIMATagQueryParams(callback) { const eventName = 'BlazeIMA.additionalIMATagQueryParams'; // Register async method handler if (callback) { _blazeRtnSdk.BlazeAsyncBridge.registerJSMethod(eventName, async params => { try { const result = await callback(params); return result; } catch (error) { console.error(`Error in ${eventName}:`, error); return {}; } }); } else { // Unregister the handler if no delegate is provided _blazeRtnSdk.BlazeAsyncBridge.unregisterJSMethod(eventName); } } static customIMASettings(callback) { const eventName = 'BlazeIMA.customIMASettings'; // Register async method handler if (callback) { _blazeRtnSdk.BlazeAsyncBridge.registerJSMethod(eventName, async params => { try { const result = await callback(params); return result; } catch (error) { console.error(`Error in ${eventName}:`, error); return undefined; } }); } else { // Unregister the handler if no delegate is provided _blazeRtnSdk.BlazeAsyncBridge.unregisterJSMethod(eventName); } } static overrideAdTagUrl(callback) { const eventName = 'BlazeIMA.overrideAdTagUrl'; // Register async method handler if (callback) { _blazeRtnSdk.BlazeAsyncBridge.registerJSMethod(eventName, async params => { try { const result = await callback(params); return result; } catch (error) { console.error(`Error in ${eventName}:`, error); return undefined; } }); } else { // Unregister the handler if no delegate is provided _blazeRtnSdk.BlazeAsyncBridge.unregisterJSMethod(eventName); } } } exports.BlazeGlobalDelegateHelper = BlazeGlobalDelegateHelper; //# sourceMappingURL=BlazeIMADelegate.js.map