Contents

0xWDG/Admob-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.

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

πŸ¦‹ @0xWDG 🐘 mastodon.social/@0xWDG 🐦 @0xWDG 🧡 @0xWDG 🌐 wesleydegroot.nl πŸ€– Discord

Interested learning more about Swift? Check out my blog.

Package Metadata

Repository: 0xWDG/Admob-SwiftUI

Homepage: https://0xwdg.github.io/Admob-SwiftUI/

Stars: 2

Forks: 0

Open issues: 0

Default branch: main

Primary language: swift

License: MIT

Topics: admob, ads, google, hacktoberfest, package, spm, swift, swift-ui, swiftlang, swiftpm, swiftui

README: README.md