Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  
Summary:[Constants](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#constants)\|[Methods](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#pubmethods)\|[Inherited Methods](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#inhmethods)  

# MeasurementManager

`
public


class
MeasurementManager
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|---------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.adservices.measurement.MeasurementManager |

<br />

*** ** * ** ***

MeasurementManager provides APIs to manage source and trigger registrations.

## Summary

|                                                                                                                      ### Constants                                                                                                                      ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [MEASUREMENT_API_STATE_DISABLED](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#MEASUREMENT_API_STATE_DISABLED) This state indicates that Measurement APIs are unavailable. |
| `int` | [MEASUREMENT_API_STATE_ENABLED](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#MEASUREMENT_API_STATE_ENABLED) This state indicates that Measurement APIs are enabled.       |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void`                                                                                                                                             | ` `[deleteRegistrations](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#deleteRegistrations(android.adservices.measurement.DeletionRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>))`(`[DeletionRequest](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/DeletionRequest)` deletionRequest, `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver)`<`[Object](https://developer.android.com/reference/java/lang/Object)`, `[Exception](https://developer.android.com/reference/java/lang/Exception)`> callback) ` Delete previous registrations.                                                                   |
| ` static `[MeasurementManager](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager) | ` `[get](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#get(android.content.Context))`(`[Context](https://developer.android.com/reference/android/content/Context)` context) ` Factory method for creating an instance of MeasurementManager.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ` void`                                                                                                                                             | ` `[getMeasurementApiStatus](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#getMeasurementApiStatus(java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Integer,java.lang.Exception>))`(`[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver)`<`[Integer](https://developer.android.com/reference/java/lang/Integer)`, `[Exception](https://developer.android.com/reference/java/lang/Exception)`> callback) ` Get Measurement API status.                                                                                                                                                                                                                                                                    |
| ` void`                                                                                                                                             | ` `[registerSource](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#registerSource(android.net.Uri,%20android.view.InputEvent,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>))`(`[Uri](https://developer.android.com/reference/android/net/Uri)` attributionSource, `[InputEvent](https://developer.android.com/reference/android/view/InputEvent)` inputEvent, `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver)`<`[Object](https://developer.android.com/reference/java/lang/Object)`, `[Exception](https://developer.android.com/reference/java/lang/Exception)`> callback) ` Register an attribution source (click or view).                                       |
| ` void`                                                                                                                                             | ` `[registerSource](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#registerSource(android.adservices.measurement.SourceRegistrationRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>))`(`[SourceRegistrationRequest](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/SourceRegistrationRequest)` request, `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver)`<`[Object](https://developer.android.com/reference/java/lang/Object)`, `[Exception](https://developer.android.com/reference/java/lang/Exception)`> callback) ` Register attribution sources(click or view) from an app context.                     |
| ` void`                                                                                                                                             | ` `[registerTrigger](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#registerTrigger(android.net.Uri,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>))`(`[Uri](https://developer.android.com/reference/android/net/Uri)` trigger, `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver)`<`[Object](https://developer.android.com/reference/java/lang/Object)`, `[Exception](https://developer.android.com/reference/java/lang/Exception)`> callback) ` Register a trigger (conversion).                                                                                                                                                                                     |
| ` void`                                                                                                                                             | ` `[registerWebSource](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#registerWebSource(android.adservices.measurement.WebSourceRegistrationRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>))`(`[WebSourceRegistrationRequest](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/WebSourceRegistrationRequest)` request, `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver)`<`[Object](https://developer.android.com/reference/java/lang/Object)`, `[Exception](https://developer.android.com/reference/java/lang/Exception)`> callback) ` Register an attribution source(click or view) from web context.       |
| ` void`                                                                                                                                             | ` `[registerWebTrigger](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager#registerWebTrigger(android.adservices.measurement.WebTriggerRegistrationRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>))`(`[WebTriggerRegistrationRequest](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/WebTriggerRegistrationRequest)` request, `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver)`<`[Object](https://developer.android.com/reference/java/lang/Object)`, `[Exception](https://developer.android.com/reference/java/lang/Exception)`> callback) ` Register an attribution trigger(click or view) from web context. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Constants

### MEASUREMENT_API_STATE_DISABLED

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public static final int MEASUREMENT_API_STATE_DISABLED
```

This state indicates that Measurement APIs are unavailable. Invoking them will result in an[UnsupportedOperationException](https://developer.android.com/reference/java/lang/UnsupportedOperationException).

<br />

Constant Value: 0 (0x00000000)  

### MEASUREMENT_API_STATE_ENABLED

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public static final int MEASUREMENT_API_STATE_ENABLED
```

This state indicates that Measurement APIs are enabled.

<br />

Constant Value: 1 (0x00000001)

## Public methods

### deleteRegistrations

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public void deleteRegistrations (DeletionRequest deletionRequest, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> callback)
```

Delete previous registrations. If the deletion is successful, the callback's[OutcomeReceiver.onResult(R)](https://developer.android.com/reference/android/os/OutcomeReceiver#onResult(R))is invoked with null. In case of failure, a[Exception](https://developer.android.com/reference/java/lang/Exception)is sent through the callback's[OutcomeReceiver#onError](https://developer.android.com/reference/android/os/OutcomeReceiver#onError(E)). Both success and failure feedback are executed on the provided[Executor](https://developer.android.com/reference/java/util/concurrent/Executor).

<br />

|                                                                                                                                                                                                                                                                                                                  Parameters                                                                                                                                                                                                                                                                                                                  ||
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `deletionRequest` | `DeletionRequest`: The request for deleting data. This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `executor`        | `Executor`: The executor to run callback. This value cannot be`null`. Callback and listener events are dispatched through this[Executor](https://developer.android.com/reference/java/util/concurrent/Executor), providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use[Context.getMainExecutor()](https://developer.android.com/reference/android/content/Context#getMainExecutor()). Otherwise, provide an[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)that dispatches to an appropriate thread. <br /> |
| `callback`        | `OutcomeReceiver`: intended to notify asynchronously the API result. This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

### get

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 6](https://developer.android.com/sdkExtensions)  

```
public static MeasurementManager get (Context context)
```

Factory method for creating an instance of MeasurementManager.

<br />

|                                                                  Parameters                                                                  ||
|-----------|-----------------------------------------------------------------------------------------------------------------------------------|
| `context` | `Context`: The[Context](https://developer.android.com/reference/android/content/Context)to use This value cannot be`null`. <br /> |

|                                                                                                                                                             Returns                                                                                                                                                              ||
|-------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MeasurementManager](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager) | A[MeasurementManager](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/measurement/MeasurementManager)instance This value cannot be`null`. <br /> |

### getMeasurementApiStatus

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public void getMeasurementApiStatus (Executor executor, 
                OutcomeReceiver<Integer, Exception> callback)
```

Get Measurement API status.

The callback's`Integer`value is one of`MeasurementApiState`.  
Requires[AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_ATTRIBUTION)

<br />

|                                                                                                                                                                                                                                                                                                                  Parameters                                                                                                                                                                                                                                                                                                                   ||
|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `executor` | `Executor`: used by callback to dispatch results. This value cannot be`null`. Callback and listener events are dispatched through this[Executor](https://developer.android.com/reference/java/util/concurrent/Executor), providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use[Context.getMainExecutor()](https://developer.android.com/reference/android/content/Context#getMainExecutor()). Otherwise, provide an[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)that dispatches to an appropriate thread. <br /> |
| `callback` | `OutcomeReceiver`: intended to notify asynchronously the API result. This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

### registerSource

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public void registerSource (Uri attributionSource, 
                InputEvent inputEvent, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> callback)
```

Register an attribution source (click or view).  
Requires[AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_ATTRIBUTION)

<br />

|                                                                                                                                                                                                                                                                                                                     Parameters                                                                                                                                                                                                                                                                                                                      ||
|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `attributionSource` | `Uri`: the platform issues a request to this URI in order to fetch metadata associated with the attribution source. The source metadata is stored on device, making it eligible to be matched to future triggers. This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                           |
| `inputEvent`        | `InputEvent`: either an[InputEvent](https://developer.android.com/reference/android/view/InputEvent)object (for a click event) or null (for a view event). <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `executor`          | `Executor`: used by callback to dispatch results. This value may be`null`. Callback and listener events are dispatched through this[Executor](https://developer.android.com/reference/java/util/concurrent/Executor), providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use[Context.getMainExecutor()](https://developer.android.com/reference/android/content/Context#getMainExecutor()). Otherwise, provide an[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)that dispatches to an appropriate thread. <br /> |
| `callback`          | `OutcomeReceiver`: intended to notify asynchronously the API result. This value may be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

|                                                                          Throws                                                                          ||
|--------------------------------------------------------------------------------------------------------|--------------------------------------------------|
| [IllegalArgumentException](https://developer.android.com/reference/java/lang/IllegalArgumentException) | if the scheme for`attributionSource`is not HTTPS |

### registerSource

[**Added in Android UpsideDownCakePrivacySandbox**](https://developer.android.com/preview)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public void registerSource (SourceRegistrationRequest request, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> callback)
```

Register attribution sources(click or view) from an app context. This API will not process any redirects, all registration URLs should be supplied with the request.  
Requires[AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_ATTRIBUTION)

<br />

|                                                                                                                                                                                                                                                                                                                Parameters                                                                                                                                                                                                                                                                                                                 ||
|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `request`  | `SourceRegistrationRequest`: app source registration request This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `executor` | `Executor`: used by callback to dispatch results This value may be`null`. Callback and listener events are dispatched through this[Executor](https://developer.android.com/reference/java/util/concurrent/Executor), providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use[Context.getMainExecutor()](https://developer.android.com/reference/android/content/Context#getMainExecutor()). Otherwise, provide an[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)that dispatches to an appropriate thread. <br /> |
| `callback` | `OutcomeReceiver`: intended to notify asynchronously the API result This value may be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

### registerTrigger

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public void registerTrigger (Uri trigger, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> callback)
```

Register a trigger (conversion).  
Requires[AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_ATTRIBUTION)

<br />

|                                                                                                                                                                                                                                                                                                                 Parameters                                                                                                                                                                                                                                                                                                                 ||
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `trigger`  | `Uri`: the API issues a request to this URI to fetch metadata associated with the trigger. The trigger metadata is stored on-device, and is eligible to be matched with sources during the attribution process. This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                             |
| `executor` | `Executor`: used by callback to dispatch results. This value may be`null`. Callback and listener events are dispatched through this[Executor](https://developer.android.com/reference/java/util/concurrent/Executor), providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use[Context.getMainExecutor()](https://developer.android.com/reference/android/content/Context#getMainExecutor()). Otherwise, provide an[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)that dispatches to an appropriate thread. <br /> |
| `callback` | `OutcomeReceiver`: intended to notify asynchronously the API result. This value may be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

|                                                                     Throws                                                                     ||
|--------------------------------------------------------------------------------------------------------|----------------------------------------|
| [IllegalArgumentException](https://developer.android.com/reference/java/lang/IllegalArgumentException) | if the scheme for`trigger`is not HTTPS |

### registerWebSource

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public void registerWebSource (WebSourceRegistrationRequest request, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> callback)
```

Register an attribution source(click or view) from web context. This API will not process any redirects, all registration URLs should be supplied with the request. At least one of appDestination or webDestination parameters are required to be provided. If the registration is successful,`callback`'s[OutcomeReceiver#onResult](https://developer.android.com/reference/android/os/OutcomeReceiver#onResult(R))is invoked with null. In case of failure, a[Exception](https://developer.android.com/reference/java/lang/Exception)is sent through`callback`'s[OutcomeReceiver.onError(E)](https://developer.android.com/reference/android/os/OutcomeReceiver#onError(E)). Both success and failure feedback are executed on the provided[Executor](https://developer.android.com/reference/java/util/concurrent/Executor).  
Requires[AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_ATTRIBUTION)

<br />

|                                                    Parameters                                                    ||
|------------|------------------------------------------------------------------------------------------------------|
| `request`  | `WebSourceRegistrationRequest`: source registration request This value cannot be`null`. <br />       |
| `executor` | `Executor`: used by callback to dispatch results. This value may be`null`. <br />                    |
| `callback` | `OutcomeReceiver`: intended to notify asynchronously the API result. This value may be`null`. <br /> |

### registerWebTrigger

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in[Ad Services Extensions 4](https://developer.android.com/sdkExtensions)  

```
public void registerWebTrigger (WebTriggerRegistrationRequest request, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> callback)
```

Register an attribution trigger(click or view) from web context. This API will not process any redirects, all registration URLs should be supplied with the request. If the registration is successful,`callback`'s[OutcomeReceiver#onResult](https://developer.android.com/reference/android/os/OutcomeReceiver#onResult(R))is invoked with null. In case of failure, a[Exception](https://developer.android.com/reference/java/lang/Exception)is sent through`callback`'s[OutcomeReceiver.onError(E)](https://developer.android.com/reference/android/os/OutcomeReceiver#onError(E)). Both success and failure feedback are executed on the provided[Executor](https://developer.android.com/reference/java/util/concurrent/Executor).  
Requires[AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_ATTRIBUTION)

<br />

|                                                   Parameters                                                    ||
|------------|-----------------------------------------------------------------------------------------------------|
| `request`  | `WebTriggerRegistrationRequest`: trigger registration request This value cannot be`null`. <br />    |
| `executor` | `Executor`: used by callback to dispatch results This value may be`null`. <br />                    |
| `callback` | `OutcomeReceiver`: intended to notify asynchronously the API result This value may be`null`. <br /> |