원클릭으로
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 직업 분류 기준
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.
| 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>).