UNPKG

@wscsports/blaze-rtn-ima-ads

Version:
97 lines 3.22 kB
import { BlazeAsyncBridge, BlazeGlobalEvents } from "@wscsports/blaze-rtn-sdk"; export 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) { BlazeGlobalEvents.createEventSubscription(eventName, data => { try { const eventType = data['eventType']; callback({ eventType }); } catch (e) { console.error('onIMAAdEvent', e); } }); } else { BlazeGlobalEvents.cancelEventSubscription(eventName); } } static onIMAAdError(callback) { const eventName = 'BlazeIMA.onAdError'; if (callback) { BlazeGlobalEvents.createEventSubscription(eventName, data => { try { const errorMessage = data['errorMessage']; callback(errorMessage); } catch (e) { console.error('onIMAAdError', e); } }); } else { BlazeGlobalEvents.cancelEventSubscription(eventName); } } static additionalIMATagQueryParams(callback) { const eventName = 'BlazeIMA.additionalIMATagQueryParams'; // Register async method handler if (callback) { 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 BlazeAsyncBridge.unregisterJSMethod(eventName); } } static customIMASettings(callback) { const eventName = 'BlazeIMA.customIMASettings'; // Register async method handler if (callback) { 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 BlazeAsyncBridge.unregisterJSMethod(eventName); } } static overrideAdTagUrl(callback) { const eventName = 'BlazeIMA.overrideAdTagUrl'; // Register async method handler if (callback) { 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 BlazeAsyncBridge.unregisterJSMethod(eventName); } } } //# sourceMappingURL=BlazeIMADelegate.js.map