# AdAdapted SDK Documentation > AdAdapted provides SDKs for integrating native advertising into mobile and web applications. SDKs are available for React Native, JavaScript, Flutter, Android, iOS (Swift Package and CocoaPods), and the Payload as a Service platform. Features include ad zone creation, in-app ad display, keyword intercept, add-to-list/cart actions, out-of-app payloads, contextual recipe ads, off-screen ad zone visibility, and event tracking. Version notes name the release that introduced a change and stay true for every later release: in the React Native SDK, v5.0.0 moved to one ad per zone per request with the host app rendering an AdZone component per zone, and upgrading from 4.x is a breaking change; in the JavaScript SDK, v3.0.0 moved to one ad per zone per request and client generated sessions, and upgrading from 2.x is a breaking change; the Flutter SDK is new at v0.1.2 and follows the same single ad serving model, with the host app placing an AdZone widget per zone and each zone measuring its own visibility rather than being told; in the Android SDK, onZoneHasAds() reports on every zone response as of v6.0.0 and AaSdkSessionListener was removed in v5.0.0 in favor of per-zone listeners; the iOS Swift Package SDK carries those same two changes as of v4.0.0 and v3.0.0 respectively, and ships Objective-C compatibility wrappers so Objective-C apps use it without rewriting in Swift. These docs are updated only for releases that bring a breaking change or a new feature, so the newest version named here is not necessarily the latest release. ## React Native SDK - [Getting Started](https://docs.adadapted.com/#/docs/react-native-getting-started): Installation, features, and setup for the React Native SDK, including the v5.0.0 breaking-change notice. - [Usage](https://docs.adadapted.com/#/docs/react-native-usage): Initialization, rendering AdZone components, and lifecycle management. - [Ad Zones](https://docs.adadapted.com/#/docs/react-native-ad-zones): The AdZone component — zoneId, required isVisible, contextId, props reference, per-zone callbacks (onAddToListTriggered, onZoneHasAds, onAdLoaded, onAdLoadFailed), off-screen zones, refreshing. - [Methods](https://docs.adadapted.com/#/docs/react-native-methods): Full API reference — initialize, getSessionId, getDeviceInfo, acknowledge, performKeywordSearch, list manager, out-of-app payloads. - [Callbacks](https://docs.adadapted.com/#/docs/react-native-callbacks): onAddToListTriggered, onOutOfAppPayloadAvailable. - [Upgrade Guide](https://docs.adadapted.com/#/docs/react-native-upgrade-guide): Migrating 4.x implementations to v5.0.0 — host-rendered AdZone components replacing getAdZones/AdZoneInfo, required isVisible, removed setAdContext/clearAdContext/onAdZoneVisibilityChanged/onAdZonesRefreshed, client generated sessions. - [Caveats](https://docs.adadapted.com/#/docs/react-native-caveats): In-app popup ad types not displayed, reporting ad zone visibility, sessions not surviving relaunch, known issues and limitations. ## Javascript SDK - [Getting Started](https://docs.adadapted.com/#/docs/javascript-getting-started): Installation, features, and setup for the Javascript SDK, including the v3.0.0 breaking-change notice. - [Usage](https://docs.adadapted.com/#/docs/javascript-usage): Initialization with zone placements, acknowledging add-to-list clicks, teardown, scroll containers, keyword intercept usage. - [Methods](https://docs.adadapted.com/#/docs/javascript-methods): Full API reference — initialize, getSessionId, unmount, acknowledge, performKeywordSearch, list/cart manager, payloads, recipe contexts. - [Callbacks](https://docs.adadapted.com/#/docs/javascript-callbacks): onAdZoneRefreshed, onAddItemsTriggered (with the AtlAdContent acknowledgement handle), onExternalContentAdClicked, onPayloadsAvailable, onAdRetrieved. - [Upgrade Guide](https://docs.adadapted.com/#/docs/javascript-upgrade-guide): Migrating 2.x implementations to v3.0.0 — single ad serving and client generated sessions, deprecated acknowledgeAdded, renamed and removed members, type changes, behavior changes. - [Caveats](https://docs.adadapted.com/#/docs/javascript-caveats): Local storage and keepalive requirements, ad zone visibility, iframe embedding, Cordova issues and limitations. ## Flutter SDK - [Getting Started](https://docs.adadapted.com/#/docs/flutter-getting-started): Installation from pub.dev, features, requirements, iOS App Tracking Transparency setup with a code example, App Store privacy answers, Android permissions merged by the plugin and the Play Console Data safety declaration (current release v0.1.2). - [Usage](https://docs.adadapted.com/#/docs/flutter-usage): Creating and initializing the SDK, cleanup, placing AdZone widgets, deep links, keyword intercepts, list reporting. - [Ad Zones](https://docs.adadapted.com/#/docs/flutter-ad-zones): The AdZone widget — zoneId, sizing, self-measured visibility with the optional isVisible override, contextId, arguments reference, per-zone callbacks (onAddToListTriggered, onZoneHasAds, onAdLoaded, onAdLoadFailed), refreshing, unfilled zone reasons and where they are observable. - [Methods](https://docs.adadapted.com/#/docs/flutter-methods): Full API reference — initialize, unmount, sessionId, deviceInfo, acknowledge, handleDeepLink, performKeywordSearch and what it transmits, list manager, out-of-app payloads. - [Callbacks](https://docs.adadapted.com/#/docs/flutter-callbacks): onAddToListTriggered, onOutOfAppPayloadAvailable. - [Caveats](https://docs.adadapted.com/#/docs/flutter-caveats): Android and iOS only, the two unhandled ad action types, ad action paths restricted by URL scheme, App Tracking Transparency ordering, advertiserId being iOS only, emulator advertising identifiers, sessions not surviving relaunch, zone bounding, one SDK instance per app and what a second initialize() does to the first. ## Android SDK - [Getting Started](https://docs.adadapted.com/#/docs/android-getting-started): Installation via JitPack, features, the cumulative breaking version updates list (v2.2.11 onward), license. - [Usage](https://docs.adadapted.com/#/docs/android-usage): Initialization in the Application class (Kotlin and Java), AndroidManifest configuration, enabling keyword intercept and payloads, additional builder options (enableDebugLogging, setCustomIdentifier, setOptionalParams), privacy controls via disableAdTracking/enableAdTracking. - [Classes](https://docs.adadapted.com/#/docs/android-classes): AaZoneView (XML and programmatic, Compose via AndroidView), off-screen ad zone visibility with setAdZoneVisibility(), context based ads (recipes), AdContentListener with itemAcknowledge() and onNonContentAction(), AdAdaptedListManager, SDK notifications (AaSdkSessionListener — removed in v5.0.0, AaSdkEventListener, AaZoneView.Listener with onZoneHasAds — reported on every zone response as of v6.0.0), KeywordInterceptMatcher, AaSdkAdditContentListener. ## iOS SDK (Swift Package) - [Getting Started](https://docs.adadapted.com/#/docs/ios-getting-started): Installation via Swift Package Manager, Swift and Objective-C imports, features including full Objective-C support, the v3.0.0 breaking change note, links to the upgrade guides. - [Usage](https://docs.adadapted.com/#/docs/ios-usage): Initialization in AppDelegate for both Swift and Objective-C — app ID, environment, keyword intercept, payloads, debug logging, and the session, event, and Addit content listeners. - [Classes](https://docs.adadapted.com/#/docs/ios-classes): AaZoneView (Swift and Objective-C), off-screen ad zone visibility with setAdZoneVisibility(), context based ads (recipes), AaZoneViewSwiftUI, AdContentListener with itemAcknowledge() and onNonContentAction(), AdAdaptedListManager, SDK notifications (AaSdkSessionListener — removed in v3.0.0, AaSdkEventListener, ZoneViewListener with onZoneHasAds — reported on every zone response as of v4.0.0), KeywordInterceptMatcher, AaSdkAdditContentListener. - [Upgrade Guide](https://docs.adadapted.com/#/docs/ios-upgrade-guide): Migrating to the Swift Package SDK — one path from the CocoaPods Swift SDK and one from the Objective-C SDK, covering install and cleanup, class name changes, initialization, ad zones, list reporting, event listeners, keyword intercept, Addit payloads, and universal links. ## Swift / Obj-C SDK (CocoaPods) - [Getting Started](https://docs.adadapted.com/#/docs/swift-getting-started): CocoaPods installation, AASDK import for Swift and Objective-C. - [Usage](https://docs.adadapted.com/#/docs/swift-usage): Full usage guide — initialization, ad zones, context ads, add-to-list, list manager, keyword intercept, out-of-app Add-It, ad availability, caveats. - [Testing](https://docs.adadapted.com/#/docs/swift-testing): Test mode, in-app ads, keyword intercept testing, out-of-app payload testing, AADetailedListItem data model. - [Upgrade Guide](https://docs.adadapted.com/#/docs/swift-upgrade-guide): Migration guide from Objective-C SDK to Swift SDK. ## Payload as a Service SDK - [Getting Started](https://docs.adadapted.com/#/docs/payload-as-a-service-getting-started): Overview, features (known user, unknown user, campaign API), installation via npm or CDN script. - [Usage](https://docs.adadapted.com/#/docs/payload-as-a-service-usage): SDK initialization with module and script approaches, configuration options. - [Known User Methods](https://docs.adadapted.com/#/docs/payload-as-a-service-methods): constructor, getSdkConfiguration, describePayload, retrieveUserPayloads, removeUserPayload(s), recordUserOrder, recordImpression, schedulePayload, scheduleDynamicPayload. - [Unknown User Features](https://docs.adadapted.com/#/docs/payload-as-a-service-unknown-user-features): Configuration, actionRequiresLogin, callbacks, retailer methods, retailer settings, modal settings. - [Retailer Methods](https://docs.adadapted.com/#/docs/payload-as-a-service-retailer-methods): isUserAuthenticated, getProductDetails, addToCart, addToList, clipOffer — signatures, parameter types, and implementation examples. - [Campaign API](https://docs.adadapted.com/#/docs/payload-as-a-service-campaign-api): Server-side REST API for campaign creation and retrieval, authentication, request/response formats, redirect service, error codes. ## Resources - [Package Manager Links](https://docs.adadapted.com/#/docs/links): Links to all SDK packages with version badges. - [AdAdapted Platform License](https://docs.adadapted.com/#/docs/license): License terms.