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)   
Deprecated in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/android/adservices/customaudience/TestCustomAudienceManager#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/adservices/customaudience/TestCustomAudienceManager#inhmethods)

# TestCustomAudienceManager

*** ** * ** ***

` public class TestCustomAudienceManager `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

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

<br />

*** ** * ** ***

<br />

**This class was deprecated in API level 37.**   

The Rubidium (Rb) Relevance APIs, including those in android.adservices.customaudience, are being deprecated. Relevance APIs have no direct replacement. Developers should stop using them, as calls will be rejected in future Android releases. Please refer to official Privacy Sandbox documentation for deprecation and roadmap details: https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/

TestCustomAudienceManager provides APIs for app and ad-SDKs to test custom audiences.

## Summary

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/android/adservices/customaudience/TestCustomAudienceManager#overrideCustomAudienceRemoteInfo(android.adservices.customaudience.AddCustomAudienceOverrideRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>)(https://developer.android.com/reference/android/adservices/customaudience/AddCustomAudienceOverrideRequest request, https://developer.android.com/reference/java/util/concurrent/Executor executor, https://developer.android.com/reference/android/os/OutcomeReceiver<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Exception> receiver) ` Overrides the Custom Audience API to avoid fetching data from remote servers and use the data provided in `https://developer.android.com/reference/android/adservices/customaudience/AddCustomAudienceOverrideRequest` instead. |
| ` void` | ` https://developer.android.com/reference/android/adservices/customaudience/TestCustomAudienceManager#removeCustomAudienceRemoteInfoOverride(android.adservices.customaudience.RemoveCustomAudienceOverrideRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>)(https://developer.android.com/reference/android/adservices/customaudience/RemoveCustomAudienceOverrideRequest request, https://developer.android.com/reference/java/util/concurrent/Executor executor, https://developer.android.com/reference/android/os/OutcomeReceiver<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Exception> receiver) ` Removes an override in th Custom Audience API with associated the data in `https://developer.android.com/reference/android/adservices/customaudience/RemoveCustomAudienceOverrideRequest`. |
| ` void` | ` https://developer.android.com/reference/android/adservices/customaudience/TestCustomAudienceManager#resetAllCustomAudienceOverrides(java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>)(https://developer.android.com/reference/java/util/concurrent/Executor executor, https://developer.android.com/reference/android/os/OutcomeReceiver<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Exception> receiver) ` Removes all override data in the Custom Audience API. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` 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 https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` 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` ` 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` ` 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*.

## Public methods

### overrideCustomAudienceRemoteInfo

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)   
Deprecated in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void overrideCustomAudienceRemoteInfo (AddCustomAudienceOverrideRequest request, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> receiver)
```

Overrides the Custom Audience API to avoid fetching data from remote servers and use the data provided in `https://developer.android.com/reference/android/adservices/customaudience/AddCustomAudienceOverrideRequest` instead. The `https://developer.android.com/reference/android/adservices/customaudience/AddCustomAudienceOverrideRequest` is provided by the Ads SDK.

This method is intended to be used for end-to-end testing. This API is enabled only for apps in debug mode with developer options enabled.

This call will fail silently if the `owner` in the `request` is not the calling app's package name.   

Requires `https://developer.android.com/reference/android/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_CUSTOM_AUDIENCE`

<br />

| Parameters ||
|---|---|
| `request` | `AddCustomAudienceOverrideRequest`: This value cannot be `null`. <br /> |
| `executor` | `Executor`: This value cannot be `null`. Callback and listener events are dispatched through this `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 `https://developer.android.com/reference/android/content/Context#getMainExecutor()`. Otherwise, provide an `https://developer.android.com/reference/java/util/concurrent/Executor` that dispatches to an appropriate thread. <br /> |
| `receiver` | `OutcomeReceiver`: This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException` | if this API is not enabled for the caller The receiver either returns a `void` for a successful run, or an `https://developer.android.com/reference/java/lang/Exception` indicates the error. |

### removeCustomAudienceRemoteInfoOverride

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)   
Deprecated in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void removeCustomAudienceRemoteInfoOverride (RemoveCustomAudienceOverrideRequest request, 
                Executor executor, 
                OutcomeReceiver<Object, Exception> receiver)
```

Removes an override in th Custom Audience API with associated the data in `https://developer.android.com/reference/android/adservices/customaudience/RemoveCustomAudienceOverrideRequest`.

This method is intended to be used for end-to-end testing. This API is enabled only for apps in debug mode with developer options enabled.   

Requires `https://developer.android.com/reference/android/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_CUSTOM_AUDIENCE`

<br />

| Parameters ||
|---|---|
| `request` | `RemoveCustomAudienceOverrideRequest`: This value cannot be `null`. <br /> |
| `executor` | `Executor`: This value cannot be `null`. Callback and listener events are dispatched through this `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 `https://developer.android.com/reference/android/content/Context#getMainExecutor()`. Otherwise, provide an `https://developer.android.com/reference/java/util/concurrent/Executor` that dispatches to an appropriate thread. <br /> |
| `receiver` | `OutcomeReceiver`: This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException` | if this API is not enabled for the caller The `https://developer.android.com/reference/android/adservices/customaudience/RemoveCustomAudienceOverrideRequest` is provided by the Ads SDK. The receiver either returns a `void` for a successful run, or an `https://developer.android.com/reference/java/lang/Exception` indicates the error. |

### resetAllCustomAudienceOverrides

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)   
Deprecated in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void resetAllCustomAudienceOverrides (Executor executor, 
                OutcomeReceiver<Object, Exception> receiver)
```

Removes all override data in the Custom Audience API.

This method is intended to be used for end-to-end testing. This API is enabled only for apps in debug mode with developer options enabled.   

Requires `https://developer.android.com/reference/android/adservices/common/AdServicesPermissions#ACCESS_ADSERVICES_CUSTOM_AUDIENCE`

<br />

| Parameters ||
|---|---|
| `executor` | `Executor`: This value cannot be `null`. Callback and listener events are dispatched through this `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 `https://developer.android.com/reference/android/content/Context#getMainExecutor()`. Otherwise, provide an `https://developer.android.com/reference/java/util/concurrent/Executor` that dispatches to an appropriate thread. <br /> |
| `receiver` | `OutcomeReceiver`: This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException` | if this API is not enabled for the caller The receiver either returns a `void` for a successful run, or an `https://developer.android.com/reference/java/lang/Exception` indicates the error. |