---
title: SKOverlay
framework: storekit
role: symbol
role_heading: Class
path: storekit/skoverlay
---

# SKOverlay

A class that displays an overlay you can use to recommend another app or an App Clip’s corresponding full app.

## Declaration

```swift
class SKOverlay
```

## Mentioned in

Receiving ad attributions and postbacks Signing and providing ads

## Overview

Overview By displaying an overlay, you can recommend another app to users and enable them to download it immediately. To recommend media that’s not an app, or to display a product page within your app, use SKStoreProductViewController. important: If you display an overlay in your App Clip, you may only recommend the App Clip’s corresponding full app and need to initialize the overlay with an SKOverlay.AppClipConfiguration object. For more information, see Recommending your app to App Clip users. If you’re using SwiftUI, make use of the appStoreOverlay(isPresented:configuration:) modifier. For example usage, see Fruta: Building a feature-rich app with SwiftUI. To display an App Store overlay in an app that uses UIKit: Create an SKOverlay.AppConfiguration with the iTunes identifier of the app you want to recommend. Initialize SKOverlay with the configuration object. Present the overlay. The following code displays an overlay at the bottom of the visible scene: func displayOverlay() {     guard let scene = view.window?.windowScene else { return }

let config = SKOverlay.AppConfiguration(appIdentifier: "The iTunes identifier of another app.", position: .bottom)     let overlay = SKOverlay(configuration: config)     overlay.present(in: scene) } To respond to the overlay’s appearance, dismissal, or failure to load, set the delegate and implement the methods defined in SKOverlayDelegate. note: App extensions can’t display an overlay.

## Topics

### Creating an overlay

- [init(configuration:)](storekit/skoverlay/init(configuration:).md)
- [configuration](storekit/skoverlay/configuration-swift.property.md)
- [SKOverlay.AppConfiguration](storekit/skoverlay/appconfiguration.md)
- [SKOverlay.AppClipConfiguration](storekit/skoverlay/appclipconfiguration.md)
- [SKOverlay.Configuration](storekit/skoverlay/configuration-swift.class.md)

### Presenting an overlay

- [present(in:)](storekit/skoverlay/present(in:).md)

### Dismissing an overlay

- [dismiss(in:)](storekit/skoverlay/dismiss(in:).md)

### Setting a delegate

- [delegate](storekit/skoverlay/delegate.md)
- [SKOverlayDelegate](storekit/skoverlaydelegate.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Recommendations

- [Offering media for sale in your app](storekit/offering-media-for-sale-in-your-app.md)
- [SKStoreProductViewController](storekit/skstoreproductviewcontroller.md)
