Skip to content

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.

License

Notifications You must be signed in to change notification settings

0xWDG/Admob-SwiftUI

Repository files navigation

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

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:

import Admob_SwiftUI

Usage

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

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

We can get in touch via Mastodon, Twitter/X, Discord,Website

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project