Class LandingPageHandler
-
- All Implemented Interfaces:
public final class LandingPageHandlerLandingPageHandler is responsible for opening Landing Page when an ad is clicked.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public @interfaceLandingPageHandler.OpenRequestResultpublic final classLandingPageHandler.OpenRequestResultDatapublic classLandingPageHandler.InlineInstallerValidationResultpublic classLandingPageHandler.Companion
-
Field Summary
-
Constructor Summary
Constructors Constructor Description LandingPageHandler(Context context, LandingPageState landingPageState, CCTEventsListener cctEventsListener, LandingPageEventsListener landingPageEventsListener, RedirectionValidator redirectionValidator, LandingPageTelemetryMetaData landingPageTelemetryMetaData, InMobiLogger logger, WeakReference<RenderView> activityContextSourceViewRef)
-
Method Summary
Modifier and Type Method Description final IntegergetLandingPageFunnelCounter()final UnitsetLandingPageFunnelCounter(Integer landingPageFunnelCounter)final LandingPageEventsListenergetLandingPageEventsListener()final LandingPageTelemetryMetaDatagetLandingPageTelemetryMetaData()final LandingPageHandler.OpenRequestResultDataprocessOpenRequest(String api, String jsCallbackNamespace, String url, LandingPageTelemetryControlInfo landingPageTelemetryControlInfoArg, Boolean isNonLandingPageOpen)processOpenRequest manages the mraid.open() and imraid.openWithoutTracker flow completely. final IntegerprocessCustomExpandRequest(String api, String jsCallbackNamespace, String url, LandingPageTelemetryControlInfo lpTelemetryControlInfo, ChromeTabManager.PartialTabsArguments partialTabsArguments)processCustomExpandRequest manages imraid.customExpand request flow completely. final IntegerprocessOpenCCTRequest(String api, String jsCallbackNamespace, String url, LandingPageTelemetryControlInfo lpTelemetryControlInfo)final IntegerprocessOpenEmbeddedRequest(String url, String api, LandingPageTelemetryControlInfo lpTelemetryControlInfo)final UnitprocessOpenExternalRequest(String api, String jsCallbackNamespace, String url, String fallbackUrl, LandingPageTelemetryControlInfo lpTelemetryControlInfo)final LandingPageHandler.OpenRequestResultDataprocessInlineInstallerRequest(String api, String jsCallbackNamespace, String clickThroughUrl, String inlineInstallUrl, LandingPageTelemetryControlInfo lpTelemetryControlInfo)Attempts to open the Play Store inline installer experience. final UnitsubmitLandingPageTelemetry(LandingPageFunnelState funnelState, LandingPageTelemetryControlInfo landingPageTelemetryControlInfo, Integer errorCode)-
-
Constructor Detail
-
LandingPageHandler
LandingPageHandler(Context context, LandingPageState landingPageState, CCTEventsListener cctEventsListener, LandingPageEventsListener landingPageEventsListener, RedirectionValidator redirectionValidator, LandingPageTelemetryMetaData landingPageTelemetryMetaData, InMobiLogger logger, WeakReference<RenderView> activityContextSourceViewRef)
-
-
Method Detail
-
getLandingPageFunnelCounter
final Integer getLandingPageFunnelCounter()
-
setLandingPageFunnelCounter
final Unit setLandingPageFunnelCounter(Integer landingPageFunnelCounter)
-
getLandingPageEventsListener
final LandingPageEventsListener getLandingPageEventsListener()
-
getLandingPageTelemetryMetaData
final LandingPageTelemetryMetaData getLandingPageTelemetryMetaData()
-
processOpenRequest
final LandingPageHandler.OpenRequestResultData processOpenRequest(String api, String jsCallbackNamespace, String url, LandingPageTelemetryControlInfo landingPageTelemetryControlInfoArg, Boolean isNonLandingPageOpen)
processOpenRequest manages the mraid.open() and imraid.openWithoutTracker flow completely.
- Parameters:
api- contains origination of the method call from JavascriptBridge.jsCallbackNamespace- contains the javascript namespace thats used for injecting javascript codeurl- landing page url to be processed.- Returns:
OpenRequestResultData returns Request redirected Status and ErrorCode in case of failure to resolve.
-
processCustomExpandRequest
final Integer processCustomExpandRequest(String api, String jsCallbackNamespace, String url, LandingPageTelemetryControlInfo lpTelemetryControlInfo, ChromeTabManager.PartialTabsArguments partialTabsArguments)
processCustomExpandRequest manages imraid.customExpand request flow completely.
- Parameters:
api- contains name of the method call.jsCallbackNamespace- contains the javascript namespace thats used for injecting javascript codeurl- contains the url to be processed- Returns:
isProcessed returns true if the url is processed else returns false
-
processOpenCCTRequest
final Integer processOpenCCTRequest(String api, String jsCallbackNamespace, String url, LandingPageTelemetryControlInfo lpTelemetryControlInfo)
-
processOpenEmbeddedRequest
final Integer processOpenEmbeddedRequest(String url, String api, LandingPageTelemetryControlInfo lpTelemetryControlInfo)
-
processOpenExternalRequest
final Unit processOpenExternalRequest(String api, String jsCallbackNamespace, String url, String fallbackUrl, LandingPageTelemetryControlInfo lpTelemetryControlInfo)
-
processInlineInstallerRequest
final LandingPageHandler.OpenRequestResultData processInlineInstallerRequest(String api, String jsCallbackNamespace, String clickThroughUrl, String inlineInstallUrl, LandingPageTelemetryControlInfo lpTelemetryControlInfo)
Attempts to open the Play Store inline installer experience. Input JSON structure expected: { "packageId": String, "url": String (optional) } Returns OpenRequestResultData with:
REDIRECTION_RESOLVED on successful (or scheduled) launch
REDIRECTION_NOT_RESOLVED with appropriate LandingPageErrorCode on failure
INVALID when input JSON or required fields are invalid Telemetry funnel:
LPStartFailed for validation errors
LPStartSuccess on successful launch attempt
LPBrowserOpenFailed on launch exceptions / missing Play Store
-
submitLandingPageTelemetry
final Unit submitLandingPageTelemetry(LandingPageFunnelState funnelState, LandingPageTelemetryControlInfo landingPageTelemetryControlInfo, Integer errorCode)
-
-
-
-