Releases: defold/extension-levelplay
Release list
Migrate to Unity LevelPlay 2.0.0
Replace the legacy IronSource integration with Unity LevelPlay SDK 9 on Android and iOS. This release introduces LevelPlay’s object-based ad lifecycle, adds complete banner and manual rewarded-ad support, updates mediated networks, and modernizes privacy and attribution configuration.
This is a breaking release with no backward compatibility. Projects upgrading from 1.x must replace the ironsource Lua API and [iron_source] configuration with levelplay and [levelplay].
Release notes
- Depends on LevelPlay Android SDK 9.5.0, iOS SDK 9.5.0.0, and Ad Quality SDK 9.8.0.
- Renames the Lua module from
ironsourcetolevelplay. - Introduces reusable ad objects for interstitial, rewarded, and banner ads.
- Adds complete banner APIs, including adaptive sizes, safe-area positioning, visibility controls, and auto-refresh controls.
- Adds explicit rewarded-ad loading on Android and iOS.
- Allows each ad object to use its own ad-unit ID and optional bid floor.
- Supports per-show placements, placement capping, and rewarded-placement information.
- Adds structured callbacks containing ad-unit, placement, network, revenue, reward, size, and error information.
- Adds GDPR, CCPA, COPPA, Meta Limited Data Use, and iOS App Tracking Transparency APIs.
- Adds integration validation and the LevelPlay Integration Test Suite.
- Adds opt-in mediated network adapters and automatic platform dependency configuration.
- Migrates Android dependencies to Maven Central where supported.
- Fixes Android banner visibility and positioning.
- Requires Defold 1.13.0+, Android API 24+, and iOS 15+.
- Resolves banner API support and manual rewarded-ad loading.
- See the Unity LevelPlay SDK 9 migration guide when upgrading from 1.x.
Technical changes
- Replaces the Android and iOS bridges with implementations based on LevelPlay SDK 9 object APIs.
- Adds lifecycle-safe native ownership, reusable handles, asynchronous callbacks, and cleanup for every ad format.
- Updates Android manifests, Maven dependencies, iOS pods, privacy settings, ATS configuration, and SKAdNetwork integration.
- Adds deterministic Android and iOS dependency generators backed by a shared network catalog.
- Updates the Lua API reference, integration documentation, and interactive example project.
- Adds CI checks for generated manifests, migration contracts, and Android and iOS Bob builds.
- Validated with 16 passing migration contract tests and both platform dependency-generator checks.
Update Android and iOS SDKs + Adapters
- This version is compatible with Defold 1.9.7+
- New Android and iOS SDKs + Adapters
Update Android SDKs and Adapters
- Newer Android SDKs and Adapters
MyTarget for iOS
New IronSource SDK
- This version is compatible with Defold 1.9.0+
- Added support for AdQuality SDK
- Fyber adapter is now DT Exchange
- New adapters for Android: Moloco, Yandex ADS
- New adapters for iOS: BidMachine, Moloco, Pangle (MyTarget is unavailable in this version)
Added SkAdNetworkItems merge policy
The Info.plist has been updated with a merge marker for the SkAdNetworkItems key so that the array is merged correctly if more than one extension defines SkAdNetworkItems. This merge functionality will work from Defold 1.8.2 and onwards.
New IronSource SDK version
- Update IronSource SDK to 7.7.0
- Minumum iOS version now is 13.0
- Minimum android version now is 21
- Tapjoy and AdColony adapters were removed by IronSource
New IronSource SDK version
- Update IronSource SDK to 7.4.0
- Pangle adapter for iOS temporary removed (build issues)
- Add Bidmachine adapter for android
- Remove Yahoo adapter on iOS and android (it's removed in IronSource SDK)
Pangle for iOS
This version is compatible with Defold 1.4.8+
- Add Pangle adapter for iOS
- Specify Defold as plugin, Defold version and extension version for IronSource SDK.
Add `get_idfa_status()` function
- Now it's possible to request current authorization status for the IDFA :
local status = ironsource.get_idfa_status()
-- status can be one of the following:
-- ironsource.EVENT_STATUS_AUTHORIZED
-- ironsource.EVENT_STATUS_DENIED
-- ironsource.EVENT_STATUS_NOT_DETERMINED
-- ironsource.EVENT_STATUS_RESTRICTED
-- or nil if not supported