Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# OutputSpec

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec "View this page in Java")

```
open class OutputSpec
```

|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||
| ↳ | [android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest.OutputSpec](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#) |

The set of spec to indicate output of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService`. It's mainly used by platform. If `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#` is set to `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#DEFAULT:android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest.OutputSpec`, OnDevicePersonalization will ignore result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService`. If `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#` is built with `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#buildBestValueSpec(kotlin.Int)`, OnDevicePersonalization will verify `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteOutput#getBestValue()` returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService` within the max value range set in `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#getMaxIntValue()` and add noise.

## Summary

| Constants ||
|---|---|
| static [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#OUTPUT_TYPE_BEST_VALUE:kotlin.Int` If set, `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceResponse#getBestValue()` will return an integer that indicates the index of best values passed in `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest#getAppParams()`. |
| static [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#OUTPUT_TYPE_NULL:kotlin.Int` The default value of OutputType. |

| Public methods ||
|---|---|
| open static [ExecuteInIsolatedServiceRequest.OutputSpec](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#) | `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#buildBestValueSpec(kotlin.Int)(maxIntValue: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Creates the output spec to get best value out of `maxIntValue`. |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#getMaxIntValue()()` Returns the value set in `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#buildBestValueSpec(kotlin.Int)`. |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#getOutputType()()` Returns the output type of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService`. |

| Properties ||
|---|---|
| static [ExecuteInIsolatedServiceRequest.OutputSpec](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#) | `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#DEFAULT:android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest.OutputSpec` The default value of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#`. |

## Constants

### OUTPUT_TYPE_BEST_VALUE

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
static val OUTPUT_TYPE_BEST_VALUE: Int
```

If set, `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceResponse#getBestValue()` will return an integer that indicates the index of best values passed in `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest#getAppParams()`.

    Value: 1

### OUTPUT_TYPE_NULL

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
static val OUTPUT_TYPE_NULL: Int
```

The default value of OutputType. If set, OnDevicePersonalization will ignore result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService` and `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceResponse` doesn't return any output data.

    Value: 0

## Public methods

### buildBestValueSpec

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open static fun buildBestValueSpec(maxIntValue: Int): ExecuteInIsolatedServiceRequest.OutputSpec
```

Creates the output spec to get best value out of `maxIntValue`. If set this, caller can call `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceResponse#getBestValue()` to get result.

| Parameters ||
|---|---|
| `maxIntValue` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the maximum value `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker` can return to caller app. Value is 0 or greater |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#` | This value cannot be `null`. |

### getMaxIntValue

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun getMaxIntValue(): Int
```

Returns the value set in `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#buildBestValueSpec(kotlin.Int)`. The value is expected to be `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceResponse#DEFAULT_BEST_VALUE:kotlin.Int` if `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#getOutputType()` is `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#OUTPUT_TYPE_NULL:kotlin.Int`.

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | Value is `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceResponse#DEFAULT_BEST_VALUE:kotlin.Int` or greater |

### getOutputType

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun getOutputType(): Int
```

Returns the output type of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService`. The default value is `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#OUTPUT_TYPE_NULL:kotlin.Int`.

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | Value is one of the following: - `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#OUTPUT_TYPE_NULL:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#OUTPUT_TYPE_BEST_VALUE:kotlin.Int` |

## Properties

### DEFAULT

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
static val DEFAULT: ExecuteInIsolatedServiceRequest.OutputSpec
```

The default value of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest.OutputSpec#`.