@wscsports/blaze-rtn-ima-ads
Version:
WSC Sports Blaze IMA Ads component for React Native
104 lines (103 loc) • 3.5 kB
JavaScript
;
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