Class POBMraidRenderer
-
- All Implemented Interfaces:
-
com.pubmatic.sdk.common.ui.POBBannerRendering,com.pubmatic.sdk.common.ui.POBHtmlRendererListener,com.pubmatic.sdk.common.viewability.POBObstructionUpdateListener,com.pubmatic.sdk.webrendering.mraid.POBMraidControllerListener,com.pubmatic.sdk.webrendering.ui.POBHTMLViewClient.OnRenderProcessGoneListener
@MainThread() public class POBMraidRenderer implements POBMraidControllerListener, POBBannerRendering, POBHtmlRendererListener, POBObstructionUpdateListener, POBHTMLViewClient.OnRenderProcessGoneListener
This class is responsible for rendering and handling the events of Mraid Ads.
-
-
Method Summary
Modifier and Type Method Description static POBMraidRenderercreateInstance(@NonNull() Context context, @NonNull() String placementType, int rendererId)Creates a new instance of POBMraidRenderer voidsetRenderingTimeout(int renderingTimeout)To set rendering timeout, in case if renderer takes more time than rendering timeout to render renderer notifies rendering timeout error. voidsetHTMLMeasurementListener(POBHTMLMeasurementProvider openMeasurementListener)Setter provides measurement callback to implementation class voidonOpen(@Nullable() String url)Gets called when MRAID open event about to happen. voidhandleClickThrough(@Nullable() String url, @Nullable() List<String> additionalTrackers)Handles click through url and click trackers booleanisUserInteracted(boolean overrideClickState)Returns true if user has recently touch/click on web view. voidonAdInteractionStarted()Notifies Mraid ad interaction onStart or ad Open voidonAdInteractionStopped()Notifies Mraid ad interaction onStart or ad closed voidonLeavingApplication()Notifies Mraid ad App is leaving. voidonMRAIDAdClick()Notifies Mraid ad click event about to happen. voidonAdUnload()Notifies event for Mraid Unload to the implemented class(PMBannerRenderer) voidonAdViewChanged(@NonNull() View adView)Notifies updated Ad view for viewability measurement events. voidshouldUseCustomClose(boolean state)Indicates whether custom close button in creative is enabled or not. voidaddFriendlyObstructions(@NonNull() View obstructionView, @NonNull() POBObstructionUpdateListener.POBFriendlyObstructionPurpose obstructionPurpose)voidremoveFriendlyObstructions(@Nullable() View obstructionView)voidrenderAd(@NonNull() POBAdDescriptor descriptor)voidsetAdRendererListener(@Nullable() POBAdRendererListener listener)To set renderer list to get renderer callbacks voiddestroy()Callback method to clean up mraid renderer resources. voidinvalidate()Invalidate the Mraid Renderer. voidinvalidateExpiration()voidonViewRendered(@NonNull() View view)Callback method, gets called when renderer is about to complete its loading. voidsignalImpressionEvent()Method to signal events to measurement provider voidonViewRenderingFailed(@NonNull() POBError error)voidonViewClicked(@Nullable() String url)voidonRenderProcessGone()voidsetTrackerHandler(@NonNull() POBTrackerHandler trackerHandler)Method to set POBTrackerHandler for execution of click trackers voidsetBaseURL(@Nullable() String baseURL)To set base url, used to render html content on WebWiew voidsetCustomCloseListener(@Nullable() POBUseCustomCloseListener customCloseListener)Set the custom close listener to get to know about custom close state voidsetWatermark(@Nullable() String watermark)Method to set the watermark -
-
Method Detail
-
createInstance
@Nullable() static POBMraidRenderer createInstance(@NonNull() Context context, @NonNull() String placementType, int rendererId)
Creates a new instance of POBMraidRenderer
- Parameters:
context- contextplacementType- placement typerendererId- renderer id- Returns:
instance of POBMraidRenderer
-
setRenderingTimeout
void setRenderingTimeout(int renderingTimeout)
To set rendering timeout, in case if renderer takes more time than rendering timeout to render renderer notifies rendering timeout error. In order to execute properly set before renderAd For default value see MAX_RENDER_TIMEOUT_IN_SEC
- Parameters:
renderingTimeout- the timeout in seconds.
-
setHTMLMeasurementListener
void setHTMLMeasurementListener(POBHTMLMeasurementProvider openMeasurementListener)
Setter provides measurement callback to implementation class
- Parameters:
openMeasurementListener- reference of POBHTMLMeasurementProvider
-
onOpen
void onOpen(@Nullable() String url)
Gets called when MRAID open event about to happen. Handles Opening url and notifies it to mraidRendererListener
- Parameters:
url- the url on which mraid open event happened.
-
handleClickThrough
void handleClickThrough(@Nullable() String url, @Nullable() List<String> additionalTrackers)
Handles click through url and click trackers
- Parameters:
url- click through urladditionalTrackers- list of click trackers
-
isUserInteracted
boolean isUserInteracted(boolean overrideClickState)
Returns true if user has recently touch/click on web view. It sets the internal interaction state to false until user interacted again.
- Returns:
Returns true if user has recently touch/click on web view else return false
-
onAdInteractionStarted
void onAdInteractionStarted()
Notifies Mraid ad interaction onStart or ad Open
-
onAdInteractionStopped
void onAdInteractionStopped()
Notifies Mraid ad interaction onStart or ad closed
-
onLeavingApplication
void onLeavingApplication()
Notifies Mraid ad App is leaving.
-
onMRAIDAdClick
void onMRAIDAdClick()
Notifies Mraid ad click event about to happen.
-
onAdUnload
void onAdUnload()
Notifies event for Mraid Unload to the implemented class(PMBannerRenderer)
-
onAdViewChanged
void onAdViewChanged(@NonNull() View adView)
Notifies updated Ad view for viewability measurement events.
- Parameters:
adView- updated Ad view
-
shouldUseCustomClose
void shouldUseCustomClose(boolean state)
Indicates whether custom close button in creative is enabled or not. In case it is enabled, we are handling the skip button and timer accordingly.
- Parameters:
state- A boolean indicating whether the custom close button is enabled or not.
-
addFriendlyObstructions
void addFriendlyObstructions(@NonNull() View obstructionView, @NonNull() POBObstructionUpdateListener.POBFriendlyObstructionPurpose obstructionPurpose)
-
removeFriendlyObstructions
void removeFriendlyObstructions(@Nullable() View obstructionView)
-
setAdRendererListener
void setAdRendererListener(@Nullable() POBAdRendererListener listener)
To set renderer list to get renderer callbacks
- Parameters:
listener- ad renderer listener
-
destroy
void destroy()
Callback method to clean up mraid renderer resources. Note: Should be called from UI thread.
-
invalidate
void invalidate()
Invalidate the Mraid Renderer.
-
invalidateExpiration
void invalidateExpiration()
-
onViewRendered
void onViewRendered(@NonNull() View view)
Callback method, gets called when renderer is about to complete its loading.
- Parameters:
view- Rendered view for which loading is completed.
-
signalImpressionEvent
void signalImpressionEvent()
Method to signal events to measurement provider
-
onViewRenderingFailed
void onViewRenderingFailed(@NonNull() POBError error)
-
onViewClicked
void onViewClicked(@Nullable() String url)
-
onRenderProcessGone
void onRenderProcessGone()
-
setTrackerHandler
void setTrackerHandler(@NonNull() POBTrackerHandler trackerHandler)
Method to set POBTrackerHandler for execution of click trackers
- Parameters:
trackerHandler- Instance of POBTrackerHandler
-
setBaseURL
void setBaseURL(@Nullable() String baseURL)
To set base url, used to render html content on WebWiew
- Parameters:
baseURL- the URL to use as the WebView's base URL
-
setCustomCloseListener
void setCustomCloseListener(@Nullable() POBUseCustomCloseListener customCloseListener)
Set the custom close listener to get to know about custom close state
- Parameters:
customCloseListener- POBCustomCloseListener for custom close state
-
setWatermark
void setWatermark(@Nullable() String watermark)
Method to set the watermark
- Parameters:
watermark- watermark
-
-
-
-