An open API service indexing awesome lists of open source software.

https://github.com/0xwdg/admob-swiftui

Admob support in SwiftUI
https://github.com/0xwdg/admob-swiftui

admob ads google package swift swift-ui swiftlang swiftpm swiftui

Last synced: 3 months ago
JSON representation

Admob support in SwiftUI

Awesome Lists containing this project

README

        

# Admob for SwiftUI

This library helps you to easily integrate the Admob SDK in your SwiftUI app. It is a wrapper around the Google Mobile Ads SDK for iOS. It provides a SwiftUI view that you can use to display banner ads in your app above your tabbar.
See my blog post for more information: https://wesleydegroot.nl/blog/post/Admob-in-SwiftUI

## Requirements

- Swift 5.9+ (Xcode 15+)
- iOS 15+

## Installation

Install using Swift Package Manager

```swift
dependencies: [
.package(url: "https://github.com/0xWDG/Admob-SwiftUI.git", .branch("main")),
],
targets: [
.target(name: "MyTarget", dependencies: [
.product(name: "Admob_SwiftUI", package: "Admob_SwiftUI"),
]),
]
```

And import it:
```swift
import Admob_SwiftUI
```

# Usage
```swift
struct MyApp: App {
@ObservedObject var adHelper = AdHelper(
adUnitId: "YOUR-AD-UNIT-ID"
)

var body: some Scene {
WindowGroup {
ContentView()
.environmentObject(adHelper)
}
}
}

struct ContentView: View {
@EnvironmentObject
var adHelper: AdHelper

var body: some View {
AdView {
TabView {
UpdateConsent()
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}

SecondView()
.tabItem {
Image(systemName: "1.square.fill")
Text("First")
}
}
}
}
}

struct SecondView: View {
@EnvironmentObject
var adHelper: AdHelper

var body: some View {
BannerView() // A banner view.
}
}
```

**Reset/Update Consent**
```Swift
struct UpdateConsent: View {
@EnvironmentObject
private var adHelper: AdHelper

var body: some View {
ScrollView {
VStack {
Button("Reset consent", role: .destructive) {
adHelper.resetConsent()
}

Button("Update Consent") {
adHelper.updateConsent()
}
}
}
}
}
```

## Contact

๐Ÿฆ‹ [@0xWDG](https://bsky.app/profile/0xWDG.bsky.social)
๐Ÿ˜ [mastodon.social/@0xWDG](https://mastodon.social/@0xWDG)
๐Ÿฆ [@0xWDG](https://x.com/0xWDG)
๐Ÿงต [@0xWDG](https://www.threads.net/@0xWDG)
๐ŸŒ [wesleydegroot.nl](https://wesleydegroot.nl)
๐Ÿค– [Discord](https://discordapp.com/users/918438083861573692)

Interested learning more about Swift? [Check out my blog](https://wesleydegroot.nl/blog/).