SwiftUI 版 Admob

此库可帮助您轻松地将 Admob SDK 集成到您的 SwiftUI 应用程序中。 它是 Google Mobile Ads SDK for iOS 的一个封装。 它提供了一个 SwiftUI 视图,您可以使用它在应用程序的标签栏上方显示横幅广告。 有关更多信息,请参阅我的博客文章: https://wesleydegroot.nl/blog/post/Admob-in-SwiftUI

要求

安装

使用 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"),
    ]),
]

并导入它

import Admob_SwiftUI

用法

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.
    }
}

重置/更新同意声明

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()
                }
            }
        }
    }
}

联系方式

🦋 @0xWDG 🐘 mastodon.social/@0xWDG 🐦 @0xWDG 🧵 @0xWDG 🌐 wesleydegroot.nl 🤖 Discord

有兴趣了解更多关于 Swift 的知识吗? 查看我的博客