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