> For the complete documentation index, see [llms.txt](https://docs.digitalturbine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalturbine.com/dt-ads-demand/dt-exchange-openrtb-2.5-specs/skoverlay.md).

# SKOverlay

Digital Turbine supports [Apple's SKOverlay](https://developer.apple.com/documentation/storekit/skoverlay) class to allow DSPs to drive increased app installs and give a native user experience to their iOS 14+ audience.

Adopting SKOverlay allows our buy-side partners to maximize creative optimization by adding a high-engagement feature to their ads. We ensure SKOverlay is adopted efficiently and optimally for real-time bidding.

## Bid Request

Unless requested otherwise, DT includes a new `SKOverlay` attribute in the `BidRequest.imp.ext.skadn` object in the bid request that provides the relevant fields used to control the SKOverlay. The attribute is only present if the DT SDK and OS versions (iOS 14 and above) support SKOverlay.

### BidRequest.imp.ext.skadn

| Attribute    | Description                                                                                                     | Type         | Example                                                                                                                        |
| ------------ | --------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `version`    | Supported version of SKAdNetwork. Always "2.0" or higher. Dependent on both the OS version and the SDK version. | String       | `"version":"2.0"`                                                                                                              |
| `sourceapp`  | ID of publisher app in Apple's App Store. Should match BidRequest.app.bundle.                                   | String       | `"sourceapp":"880047117"`                                                                                                      |
| `skadnetids` | A subset of SKAdNetworkIdentifier entries in the publisher app's info.plist that are relevant to the DSP.       | String Array | `["SKAdNetwork1.skadnetwork","SKAdNetwork2.skadnetwork"]`                                                                      |
| `skoverlay`  | List of attributes that should be provided on the bid response.                                                 | Array        | `"skoverlay":["dismissible","delay","present","pos","endcarddelay","autoclose","autoclick", "landpageclick", "landpagedelay"]` |

## Bid Response

If the bid request includes the `BidRequest.imp.ext.skadn.skoverlay` array, then a DSP can pass the following parameters using the below object on their bid response. If the object is present in the response, then DT will show the SKOverlay on the ad while following the guidelines set in the response.

### BidResponse.seatbid.bid.ext.skadn.skoverlay

| Attribute       | Description                                                                                                                                      | Type              | Example                                                           |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------- | ----------------------------------------------------------------- |
| `present`       | Should DTX present the SKOverlay.                                                                                                                | Binary            | <p><code>"present":1</code></p><p>(1 = Yes, 0 = No)</p>           |
| `delay`         | Delay in seconds before showing the overlay (0-60).                                                                                              | int; default 0    | <p><code>"delay": 3</code></p><p>(0 to 60 seconds)</p>            |
| `dismissible`   | Should the SKOverlay be dismissable by the user.                                                                                                 | Binary; default 0 | <p><code>"dismissible":0</code></p><p>(1 = Yes, 0 = No)</p>       |
| `pos`           | Position of the overlay; 0 = bottom, 1 = bottom raised                                                                                           | Binary; default 1 | <p><code>"pos":0</code></p><p>(0 = bottom, 1 = bottom raised)</p> |
| `endcarddelay`  | Delay in seconds before showing the overlay on top of the end card (0-60). Use -1 if you do not want to show the overlay on top of the end card. | int; default 0    | <p><code>"endcarddelay":0</code></p><p>(-1 to 60 seconds)</p>     |
| `autoclose`     | Time in seconds to automatically dismiss the overlay (0-60). Value of 0 means no automatic dismiss.                                              | int; default 0    | <p><code>"autoclose":0</code></p><p>(0 to 60 seconds)</p>         |
| `ext`           | Placeholder for exchange-specific extensions to OpenRTB.                                                                                         | object            | `"ext":{}`                                                        |
| `autoclick`     | Indicates whether or not our SDK should fire a click when the SKOverlay is displayed.                                                            | Binary; default 0 | <p><code>"autoclick":0</code></p><p>(1 = Yes, 0 = No)</p>         |
| `landpageclick` | Show the SKOverlay once the user clicks on the landing page                                                                                      | Binary; default 0 | <p><code>"landpageclick":1</code></p><p>(1 = Yes, 0 = No)</p>     |
| `landpagedelay` | Delay in seconds before showing the SKOverlay on the landing page (0-60). Default is -1 (not present)                                            | int; default -1   | <p><code>"landpagedelay": 3</code></p><p>(0 to 60 seconds)</p>    |

{% hint style="warning" %}
To support firing click trackers for display ads, DSPs must send a list of trackers on `BidResponse.seatbid.bid.ext.clicktrackers`.

DT Exchange will fire these trackers if `autoclick` was set to `1`.
{% endhint %}

## FAQ

<details>

<summary>Will Digital Turbine pass the new <code>BidRequest.imp.ext.skadn.skoverlay</code> array when the supply doesn't support it?</summary>

No, this array will only be sent when supported.

</details>

<details>

<summary>In what cases is the <code>BidRequest.imp.ext.skadn.skoverlay</code> array sent?</summary>

`BidRequest.imp.ext.skadn.skoverlay` will only be sent for iOS 14+ inventory using DT Exchange SDK 8.1.9+.

</details>

<details>

<summary>How will Digital Turbine determine which app to show on the overlay?</summary>

Using the value we get on `BidResponse.seatbid.bid.ext.skadn.itunesitem`.

</details>

<details>

<summary>Will Digital Turbine fire a click when showing the SKOverlay?</summary>

The DT Exchange SDK will fire a click only when explicitly requested by the DSP in the bid response. This occurs when the `autoclick` flag is set to `1` and the SKOverlay is shown.

</details>

<details>

<summary>Which ad types support SKOverlay on Digital Turbine?</summary>

SKOverlay can be shown on top of any full-screen ads, including VAST ads and Display ads.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digitalturbine.com/dt-ads-demand/dt-exchange-openrtb-2.5-specs/skoverlay.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
