UNPKG

@wscsports/blaze-rtn-gam-ads

Version:
105 lines (104 loc) 3.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BlazeCustomNativeAdsDelegateHelper = void 0; var _blazeRtnSdk = require("@wscsports/blaze-rtn-sdk"); class BlazeCustomNativeAdsDelegateHelper { static registerDelegate(delegate) { // Register event listeners for regular events BlazeCustomNativeAdsDelegateHelper.onGAMAdEvent(delegate?.onGAMAdEvent); BlazeCustomNativeAdsDelegateHelper.onGAMAdError(delegate?.onGAMAdError); BlazeCustomNativeAdsDelegateHelper.customGAMTargetingProperties(delegate?.customGAMTargetingProperties); BlazeCustomNativeAdsDelegateHelper.publisherProvidedId(delegate?.publisherProvidedId); BlazeCustomNativeAdsDelegateHelper.networkExtras(delegate?.networkExtras); } static onGAMAdEvent(callback) { const eventName = 'BlazeGAM.onAdEvent'; if (callback) { _blazeRtnSdk.BlazeGlobalEvents.createEventSubscription(eventName, data => { try { const eventType = data['eventType']; callback({ eventType }); } catch (e) { console.error('onGAMAdEvent', e); } }); } else { _blazeRtnSdk.BlazeGlobalEvents.cancelEventSubscription(eventName); } } static onGAMAdError(callback) { const eventName = 'BlazeGAM.onAdError'; if (callback) { _blazeRtnSdk.BlazeGlobalEvents.createEventSubscription(eventName, data => { try { const errorMessage = data['errorMessage']; callback(errorMessage); } catch (e) { console.error('onGAMAdError', e); } }); } else { _blazeRtnSdk.BlazeGlobalEvents.cancelEventSubscription(eventName); } } static customGAMTargetingProperties(callback) { const eventName = 'BlazeGAM.customGAMTargetingProperties'; // 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 publisherProvidedId(callback) { const eventName = 'BlazeGAM.publisherProvidedId'; // 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 networkExtras(callback) { const eventName = 'BlazeGAM.networkExtras'; // 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); } } } exports.BlazeCustomNativeAdsDelegateHelper = BlazeCustomNativeAdsDelegateHelper; //# sourceMappingURL=BlazeGAMCustomNativeAdsDelegate.js.map