Class BaseNativeViewabilityManager
-
- All Implemented Interfaces:
-
com.inmobi.media.ads.common.viewability.interfaces.IViewabilityManager
public abstract class BaseNativeViewabilityManager implements IViewabilityManager
An abstract base class for managing native ad viewability.
This class provides common functionality for tracking the viewability of native ads, including handling window lifecycle events (view attachment/detachment), managing view observation, and coordinating a ViewabilityManagerImpl for actual visibility polling.
Subclasses are responsible for providing a concrete ViewabilityManagerImpl instance and can override the TAG for logging.
-
-
Constructor Summary
Constructors Constructor Description BaseNativeViewabilityManager(CoroutineScope coroutineScope, ViewHolderConfig viewabilityModel, ViewabilityCriteria viewabilityCriteria, Flow<Boolean> lifecycleObserver)
-
Method Summary
Modifier and Type Method Description Flow<Unit>registerForTracking()Registers for viewability tracking. Unitdestroy()Cleans up resources and stops all tracking activities. -
-
Constructor Detail
-
BaseNativeViewabilityManager
BaseNativeViewabilityManager(CoroutineScope coroutineScope, ViewHolderConfig viewabilityModel, ViewabilityCriteria viewabilityCriteria, Flow<Boolean> lifecycleObserver)
- Parameters:
viewabilityModel- The ViewHolderConfig containing configuration for the views being tracked.lifecycleObserver- A Flow that emitstruewhen the view becomes attached/visible in the window, andfalseotherwise.
-
-
Method Detail
-
registerForTracking
Flow<Unit> registerForTracking()
Registers for viewability tracking.
Starts the underlying viewabilityManager and handles setup and teardown logic via
onStartandonCompletioncallbacks.- Returns:
A Flow that emits Unit when the viewability criteria are met.
-
-
-
-