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/topics/TopicsManager#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/adservices/topics/TopicsManager#inhmethods)

# TopicsManager

*** ** * ** ***

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

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

<br />

*** ** * ** ***

<br />

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

The Rubidium (Rb) Relevance APIs, including those in android.adservices.topics, 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/

TopicsManager provides APIs for App and Ad-Sdks to get the user interest topics in a privacy preserving way.

The instance of the `https://developer.android.com/reference/android/adservices/topics/TopicsManager` can be obtained using `https://developer.android.com/reference/android/content/Context#getSystemService(java.lang.Class<T>)` and `https://developer.android.com/reference/android/adservices/topics/TopicsManager` class.

## Summary

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/android/adservices/topics/TopicsManager` | ` https://developer.android.com/reference/android/adservices/topics/TopicsManager#get(android.content.Context)(https://developer.android.com/reference/android/content/Context context) ` Factory method for creating an instance of TopicsManager. |
| ` void` | ` https://developer.android.com/reference/android/adservices/topics/TopicsManager#getTopics(android.adservices.topics.GetTopicsRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.adservices.topics.GetTopicsResponse,java.lang.Exception>)(https://developer.android.com/reference/android/adservices/topics/GetTopicsRequest getTopicsRequest, https://developer.android.com/reference/java/util/concurrent/Executor executor, https://developer.android.com/reference/android/os/OutcomeReceiver<https://developer.android.com/reference/android/adservices/topics/GetTopicsResponse, https://developer.android.com/reference/java/lang/Exception> callback) ` Return the topics. |

### 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

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

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

Factory method for creating an instance of TopicsManager.

<br />

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

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/adservices/topics/TopicsManager` | A `https://developer.android.com/reference/android/adservices/topics/TopicsManager` instance. This value cannot be `null`. <br /> |

### getTopics

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 getTopics (GetTopicsRequest getTopicsRequest, 
                Executor executor, 
                OutcomeReceiver<GetTopicsResponse, Exception> callback)
```

Return the topics.   

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

<br />

| Parameters ||
|---|---|
| `getTopicsRequest` | `GetTopicsRequest`: The request for obtaining Topics. 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 `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 /> |
| `callback` | `OutcomeReceiver`: The callback that's called after topics are available or an error occurs. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `void` | This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException` | if this API is not available. |