# AdIdManagerFutures

Artifact: [androidx.privacysandbox.ads:ads-adservices-java](https://developer.android.com/jetpack/androidx/releases/privacysandbox-ads) [View Source](https://cs.android.com/search?q=file:androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures.kt+class:androidx.privacysandbox.ads.adservices.java.adid.AdIdManagerFutures) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/privacysandbox-ads#1.0.0)

*** ** * ** ***

<br />

```
public abstract class AdIdManagerFutures
```

<br />

*** ** * ** ***

AdId Manager provides APIs for app and ad-SDKs to access advertising ID. The advertising ID is a unique, per-device, user-resettable ID for advertising. It gives users better controls and provides developers with a simple, standard system to continue to monetize their apps via personalized ads (formerly known as interest-based ads). This class can be used by Java clients.

## Summary

| ### Public methods |
|---|---|
| `static final https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures` | `https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures#from(android.content.Context)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context)` Creates `https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures`. |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/adid/AdId>` | `@https://developer.android.com/reference/androidx/annotation/RequiresPermission(value = "android.permission.ACCESS_ADSERVICES_AD_ID") https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures#getAdIdAsync()()` Return the AdId. |

## Public methods

### from

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/privacysandbox-ads#1.0.0)

```
public static final AdIdManagerFutures from(@NonNull Context context)
```

Creates `https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures`.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures` | AdIdManagerFutures object. If the device is running an incompatible build, the value returned is null. |

### getAdIdAsync

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/privacysandbox-ads#1.0.0)

```
@RequiresPermission(value = "android.permission.ACCESS_ADSERVICES_AD_ID")
public abstract @NonNull ListenableFuture<@NonNull AdId> getAdIdAsync()
```

Return the AdId.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/SecurityException.html` | if caller is not authorized to call this API. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if this API is not available. |
| `https://developer.android.com/reference/android/os/LimitExceededException.html` | if rate limit was reached. |