# Changelog All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added (API design for 0.3.0; Android and iOS bridges not implemented yet) - `docs/design-0.3.md`: banner, native ad, impression data, placement, segment and dynamic user id design with the exact LevelPlay 9.6.1 Android / iOS mappings, overlay positioning, error codes, Capacitor 7 findings, test plan. - TypeScript API (`@since 0.3.0`): `getCapabilities`, `setSegment`, `setDynamicUserId`, `isPlacementCapped`, `getReward`, `createBanner` / `loadBanner` / `showBanner` / `hideBanner` / `setBannerLayout` / `destroyBanner`, `loadNativeAd` / `showNativeAd` / `setNativeAdRect` / `hideNativeAd` / `destroyNativeAd`; events `adInfoChanged`, `impressionData`, `banner*` and `nativeAd*`. - `AdInfo` gains optional `ab`, `segmentName`, `encryptedCPM`, `creativeId`, `conversionValue` (iOS) and `adSize`. - Web stubs for every new method. ## [0.2.1] - 2026-10-10 ### Changed - Author and copyright: CRTkafa (LICENSE, `package.json`, README, podspec). - `repository.url` is the plain repo address (npmjs.com shows it readable instead of `git+https://….git`). - Android Java package and Gradle namespace renamed to `fyi.crt.capacitor.levelplay`. Run `npx cap sync` after updating; no API or behaviour changes. ## [0.2.0] - 2026-10-10 First public release on npm. No behaviour changes to the native bridges since 0.1.0. ### Added - Complete README: compatibility table, iOS (SPM and CocoaPods) and Android setup, usage guide, mediation adapters (Gradle, Swift packages, local-package workaround for networks without an official Swift package), privacy and ATT guide, troubleshooting, FAQ. - API reference generated from the JSDoc in `src/definitions.ts` with `@capacitor/docgen` (`bun run docgen`, also part of `bun run build`); `dist/docs.json` ships with the package. - JSDoc with `@since` for every method, option, event and type. - `verify:android` script and a standalone Gradle setup (`android/settings.gradle`, Gradle wrapper 8.14.3) that builds the Android library against `@capacitor/android` (dev dependency). - `CONTRIBUTING.md`. ### Changed - `package.json`: description, author, `homepage`, `bugs`, `repository`, keywords, `engines` (Node 22+, as Capacitor 8), `files` (adds `CHANGELOG.md`). - Podspec: homepage from `package.json`, source is `https://git.crt.fyi/CRT/capacitor-levelplay.git` at tag `v`. - `tsconfig.json`: no explicit `lib` (same defaults for `target: es2017`), so docgen resolves `Promise` types. ## [0.1.0] - 2026-10-09 ### Added - Capacitor 8 plugin for Unity LevelPlay rewarded and interstitial ads (ad-unit API). - iOS: Swift Package Manager with the official LevelPlay-Swift-Package (SDK 9.6.1); podspec on `IronSourceSDK ~> 9.6.1`. - Android: `com.unity3d.ads-mediation:mediation-sdk:9.6.1` from Maven Central, Play services ids, consumer ProGuard rules. - API: `initialize`, `setConsent` (GDPR / CCPA / COPPA), `setMetaData`, iOS ATT, load / show / isReady per ad unit, `launchTestSuite`, `validateIntegration`, events `loaded` `loadFailed` `displayed` `displayFailed` `clicked` `closed` `rewarded`. Show calls resolve after close with `{ shown, rewarded, reward?, error? }`. - `LEVELPLAY_DEMO`: Unity's public demo app keys and ad unit ids. [Unreleased]: https://git.crt.fyi/CRT/capacitor-levelplay/compare/v0.2.1...main [0.2.1]: https://git.crt.fyi/CRT/capacitor-levelplay/compare/v0.2.0...v0.2.1 [0.2.0]: https://git.crt.fyi/CRT/capacitor-levelplay/compare/v0.1.0...v0.2.0 [0.1.0]: https://git.crt.fyi/CRT/capacitor-levelplay/releases/tag/v0.1.0