UNPKG

6.16 kBSource Map (JSON)View Raw
1{"version":3,"file":"NativeAdsManager.js","sourceRoot":"","sources":["../src/NativeAdsManager.tsx"],"names":[],"mappings":"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","sourcesContent":["import { EventEmitter as NativeEventEmitter, NativeModulesProxy } from '@unimodules/core';\nimport { EventEmitter, EventSubscription } from 'fbemitter';\n\nconst { CTKNativeAdManager } = NativeModulesProxy;\n\nconst nativeAdEmitter = new NativeEventEmitter(CTKNativeAdManager);\n\nconst EVENT_DID_BECOME_VALID = 'AdsManagerDidBecomeValid';\nconst EVENT_DID_ERROR = 'AdsManagerDidError';\n\ntype AdManagerCachePolicy = 'none' | 'icon' | 'image' | 'all';\n\ninterface CTKNativeAdManagerErrorEvent {\n placementId: string;\n error: {\n code: number;\n message: string;\n };\n}\n\nclass NativeAdsManager {\n /** {@string} with placement id of ads **/\n placementId: string;\n\n /** {@number} of ads to request at once **/\n adsToRequest: number;\n\n /** {@boolean} indicating whether AdsManager is ready to serve ads **/\n isValid: boolean = false;\n\n /** {@EventEmitter} used for sending out updates **/\n eventEmitter: EventEmitter = new EventEmitter();\n\n static async registerViewsForInteractionAsync(\n nativeAdViewTag: number,\n mediaViewTag: number,\n adIconViewTag: number,\n clickable: number[]\n ) {\n return await CTKNativeAdManager.registerViewsForInteraction(\n nativeAdViewTag,\n mediaViewTag,\n adIconViewTag,\n clickable\n );\n }\n\n static triggerEvent(nativeAdViewTag: number) {\n return CTKNativeAdManager.triggerEvent(nativeAdViewTag);\n }\n\n /**\n * Creates an instance of AdsManager with a given placementId and adsToRequest.\n * Default number of ads to request is `10`.\n *\n * AdsManager will become loading ads immediately\n */\n constructor(placementId: string, adsToRequest: number = 10) {\n this.placementId = placementId;\n this.adsToRequest = adsToRequest;\n\n this._listenForStateChanges();\n\n CTKNativeAdManager.init(placementId, adsToRequest);\n }\n\n /**\n * Listens for AdManager state changes and updates internal state. When it changes,\n * callers will be notified of a change\n */\n _listenForStateChanges() {\n nativeAdEmitter.addListener('CTKNativeAdsManagersChanged', (managers: any) => {\n const isValidNew = managers[this.placementId];\n const isValid = this.isValid;\n\n if (isValid !== isValidNew && isValidNew) {\n this.isValid = true;\n this.eventEmitter.emit(EVENT_DID_BECOME_VALID);\n }\n });\n\n nativeAdEmitter.addListener(\n 'CTKNativeAdManagerErrored',\n ({ placementId, error: { code, message } }: CTKNativeAdManagerErrorEvent) => {\n if (this.placementId === placementId) {\n const error = new Error(`Facebook Ads could not load (code ${code}): ${message}`);\n this.eventEmitter.emit(EVENT_DID_ERROR, error);\n }\n }\n );\n }\n\n /**\n * Used to listening for state changes\n *\n * If manager already became valid, it will call the function w/o registering\n * handler for events\n */\n onAdsLoaded(listener: () => void): EventSubscription {\n if (this.isValid) {\n setImmediate(listener);\n return {\n remove: () => {},\n } as EventSubscription;\n }\n\n return this.eventEmitter.once(EVENT_DID_BECOME_VALID, listener);\n }\n\n onAdsErrored(listener: (error: Error) => void): EventSubscription {\n return this.eventEmitter.addListener(EVENT_DID_ERROR, listener);\n }\n\n /**\n * Disables auto refreshing for this native ad manager\n */\n disableAutoRefresh() {\n CTKNativeAdManager.disableAutoRefresh(this.placementId);\n }\n\n /**\n * Set the native ads manager caching policy. This controls which media from\n * the native ads are cached before the onAdsLoaded is called.\n * The default is to not block on caching.\n */\n setMediaCachePolicy(cachePolicy: AdManagerCachePolicy) {\n CTKNativeAdManager.setMediaCachePolicy(this.placementId, cachePolicy);\n }\n}\n\nexport default NativeAdsManager;\n"]}
\No newline at end of file