KMP 库与 AdMob API 交互

问题描述 投票:0回答:1

我可以使用 Google AdMob 独立构建 iOS(使用 Swift)或 Android(使用 Kotlin 或 Java)项目。 不幸的是,我的公司改用了 Kotlin Multiplatform (KMP),但 Google 尚未直接支持它。

如果您想知道的话,这是我的典型 KMP 项目结构:

- composeApp
  - src
    + androidMain # Android implementation
    + commonMain # Shared implementation
    + iosMain # iOS implementation
- iosApp # Swift / iOS-specific frameworks
  - iosApp # target iOS app

在我的 KMP 项目中,我构建了一个

commonMain
类,其中包含调用
androidMain
iosMain
实现的函数。
androidMain
可以很好地展示广告,但我很难让 AdMob 在 iOS 端正常运行。

是否有关于如何在 Kotlin 多平台 (KMP) 项目中创建

AdMob
iosMain
/ iosApp 实现的说明或演练

swift objective-c kotlin admob kotlin-multiplatform
1个回答
0
投票

Google 尚未直接支持

嗯,这取决于您所说的“Google”和“支持”是什么意思。

是否有关于如何在 Kotlin 多平台 (KMP) 项目中创建 AdMob 的 iosMain / iosApp 实现的说明或演练?

可能没有什么特定于 AdMob 的内容。如果您在通用代码中调用的内容相对有限,我会创建一个与这些调用通用的接口,然后在

androidMain
中实现 Android,并在 Swift 中实现 iOS 端。

界面,非预期/实际。一般来说,对于类/对象,您不会过多使用expect/actual。如果有的话。

在 Swift 中创建 Kotlin 接口的实现,并在应用启动时将其传入。

几年前,我发表了关于桥接原生 api 的演讲:https://www.droidcon.com/2022/06/28/sdk-design-and-publishing-for-kotlin-multiplatform-mobile/

© www.soinside.com 2019 - 2024. All rights reserved.