EventUrlProvider


open class EventUrlProvider
kotlin.Any
   ↳ 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, android.os.OutcomeReceiver), and log the returned output in the EVENTS table.

Summary

Public methods
open Uri
createEventTrackingUrlWithRedirect(eventParams: PersistableBundle, destinationUrl: Uri?)

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

open Uri
createEventTrackingUrlWithResponse(eventParams: PersistableBundle, responseData: ByteArray?, mimeType: String?)

Creates an event tracking URL that returns the provided response.

Public methods

createEventTrackingUrlWithRedirect

open fun createEventTrackingUrlWithRedirect(
    eventParams: PersistableBundle,
    destinationUrl: Uri?
): Uri

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, android.os.OutcomeReceiver) when the event occurs This value cannot be null.
destinationUrl Uri?: The URL to redirect to. This value may be null.
Return
Uri An ODP event URL that can be inserted into a WebView. This value cannot be null.

createEventTrackingUrlWithResponse

open fun createEventTrackingUrlWithResponse(
    eventParams: PersistableBundle,
    responseData: ByteArray?,
    mimeType: String?
): Uri

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, android.os.OutcomeReceiver) when the event occurs. This value cannot be null.
responseData ByteArray?: 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.
Return
Uri An ODP event URL that can be inserted into a WebView. This value cannot be null.