一键导入
mediation
Create and maintain mediation network plugins (e.g., AppLovin, Vungle, Meta, IronSource) across Godot, C#, Android, and iOS.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create and maintain mediation network plugins (e.g., AppLovin, Vungle, Meta, IronSource) across Godot, C#, Android, and iOS.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | mediation |
| description | Create and maintain mediation network plugins (e.g., AppLovin, Vungle, Meta, IronSource) across Godot, C#, Android, and iOS. |
This guide outlines the architecture and step-by-step instructions for adding or maintaining AdMob mediation adapters (e.g., Meta, IronSource, Vungle, AppLovin) within the Godot AdMob Editor Plugin.
Mediation integration consists of native Android/iOS libraries, GDScript/C# interface wrappers, and editor export configurations:
┌────────────────────────────────┐
│ Game Project │
└───────────────┬────────────────┘
│ (API Calls)
▼
┌─────────────────────────────────────────────────────────────┐
│ Godot Addon │
│ - AppLovin.gd (GDScript Wrapper) │
│ - AppLovin.cs (C# Parity Wrapper) │
│ - project_settings_service.gd (registers settings) │
│ - export_plugins (copies AARs/XCFrameworks) │
└──────────────────────┬──────────────────────────────┬───────┘
│ (JNI / Android Bridge) │ (Objective-C++ / iOS Bridge)
▼ ▼
┌──────────────────────────────┐ ┌──────────────────────────────┐
│ Android Library │ │ iOS Framework │
│ - PoingGodotAdMobAppLovin.kt │ │ - PoingGodotAdMobAppLovin.mm │
│ - play-services-ads-applovin │ │ - AppLovinAdapterTarget │
│ - AppLovin SDK (AAR) │ │ - AppLovin SDK (XCFramework) │
└──────────────────────────────┘ └──────────────────────────────┘
Add the setting to project_settings_service.gd:
SettingDefinition.new(ANDROID_MEDIATION_PREFIX + "network_name", TYPE_BOOL, false)
Create <NetworkName>.gd inside platforms/godot_editor/addons/admob/gdscript/src/mediation/extras/<network_name>/:
MobileSingletonPlugin.:= operators.<NetworkName>._setup_mediation_adapters().Create <NetworkName>.cs in platforms/godot_editor/addons/admob/csharp/src/Mediation/Extras/<NetworkName>/:
PascalCase for method names, bridging to the snake_case GDScript plugin calls.SetupMediationAdapters().include ':src:mediation:<network_name>' to platforms/android/settings.gradle.build.gradle pulling dependencies from the GDScript config.src/main/AndroidManifest.xml registering your org.godotengine.plugin.v2.PoingGodotAdMob<NetworkName> metadata.PoingGodotAdMob<NetworkName>(godot: Godot?) inheriting GodotPlugin and exposing methods annotated with @UsedByGodot.config/poing_godot_admob_<network_name>.gd declaring your dependency coordinates (e.g., "com.google.ads.mediation:applovin:x.y.z.w").KNOWN_LIBS and MEDIATION_LIBS.plugin and include the path to your .xcframework dependencies in FRAMEWORKPATH.config/poing-godot-admob-<network_name>.gdip under platforms/ios/src/mediation/<network_name>/config/ declaring SPM package rules.major.minor.patch). For 4-component mediation versions (e.g., 13.6.3.0), multiply the patch component by 100 (e.g., use 13.6.300).platforms/godot_editor/ios/plugins/ using the admob_packages array format.PoingGodotAdMob<NetworkName>.h & .mm referencing <NetworkNameSDK/NetworkNameSDK.h>.PoingGodotAdMob<NetworkName>Module.h & .mm to register the plugin singleton with the engine during initialization.Create a new Markdown documentation file <network_name>.md under docs/mediate/integrate_partner_networks/:
Verify module compilation by running:
./gradlew build
Verify Swift Package Manager dependency resolution:
swift package resolve
Compile the static library using SCons:
scons plugin=<network_name> arch=arm64 target=debug
Generate and package all binaries into the editor addon directory using the main build script:
./scripts/build_local.sh all <godot_version>
is_required := false): When a mediation plugin (like AppLovin) is disabled in Project Settings, the GDScript wrapper uses push_warning rather than printerr.push_warning is not outputted to standard console streams, meaning it will not appear in adb logcat logs. To force-print missing singleton messages to logcat, you must temporarily set is_required := true in the adapter wrapper initialization (which uses printerr).curl, git ls-remote, or the native read_url_content tool) to inspect packages, repositories, or documentation pages.<network_name> with the target mediation name in lowercase, e.g., vungle, bidmachine):
https://developers.google.com/admob/android/mediation/<network_name>https://developers.google.com/admob/ios/mediation/<network_name>com.google.ads.mediation:<network_name>:<version>).Technical specifications and implementation details for integrating ads using the Poing Godot AdMob Editor Plugin. Use to integrate MobileAds initialization, Banner/AdView, InterstitialAd, RewardedAd, RewardedInterstitialAd, AppOpenAd, and UMP consent flow.
Synchronize documentation with code changes. Use when modifying APIs, installation steps, or project requirements to ensure MkDocs, README, and AGENTS.md are accurate.
Ensure API parity between GDScript and C#. Use when adding new methods, signals, or features to the plugin bridge to verify that Mono users have identical functionality.
Manage and execute AdMob plugin releases. Use when bumping versions, generating changelogs, or validating GitHub release assets to ensure consistency across Godot, Android, and iOS.
Rigorous multi-platform feature synchronization for Godot AdMob. Use when adding or modifying ad formats, consent flows, or bridge methods to ensure GDScript, C#, Android, and iOS implementations are perfectly in sync.