EventUrlProvider

public class EventUrlProvider
extends Object

java.lang.Object
   ↳ android.adservices.ondevicepersonalization.EventUrlProvider


Generates event tracking URLs for a request. The service can embed these URLs within the HTML output as needed. When the HTML is rendered within an ODP WebView, ODP will intercept requests to these URLs, call IsolatedWorker#onEvent(EventInput, java.util.function.Consumer), and log the returned output in the EVENTS table.

Summary

Public methods

Uri createEventTrackingUrlWithRedirect(PersistableBundle eventParams, Uri destinationUrl)

Creates an event tracking URL that redirects to the provided destination URL when it is clicked in an ODP webview.

Uri createEventTrackingUrlWithResponse(PersistableBundle eventParams, byte[] responseData, String mimeType)

Creates an event tracking URL that returns the provided response.

Inherited methods

Public methods

createEventTrackingUrlWithRedirect

public Uri createEventTrackingUrlWithRedirect (PersistableBundle eventParams, 
                Uri destinationUrl)

Creates an event tracking URL that redirects to the provided destination URL when it is clicked in an ODP webview.
This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
eventParams PersistableBundle: The data to be passed to IsolatedWorker#onEvent(EventInput, java.util.function.Consumer) when the event occurs This value cannot be null.

destinationUrl Uri: The URL to redirect to. This value may be null.

Returns
Uri An ODP event URL that can be inserted into a WebView. This value cannot be null.

createEventTrackingUrlWithResponse

public Uri createEventTrackingUrlWithResponse (PersistableBundle eventParams, 
                byte[] responseData, 
                String mimeType)

Creates an event tracking URL that returns the provided response. Returns HTTP Status 200 (OK) if the response data is not empty. Returns HTTP Status 204 (No Content) if the response data is empty.
This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
eventParams PersistableBundle: The data to be passed to IsolatedWorker#onEvent(EventInput, java.util.function.Consumer) when the event occurs. This value cannot be null.

responseData byte: The content to be returned to the WebView when the URL is fetched. This value may be null.

mimeType String: The Mime Type of the URL response. This value may be null.

Returns
Uri An ODP event URL that can be inserted into a WebView. This value cannot be null.