我可以使用 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
实现的说明或演练?
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/