Wiki

Clone wiki

AATKit iOS / AATKit Change Log

Change Log

(back)

Newer Versions

Find newer versions here

3.2.0-beta1 - 2023-03-01

New Ad Networks

  • IronSource SDK (version 7.2.7), supporting Fullscreen and rewardedVideo formats.
    • You can add it by adding this line pod 'AATKit/IronSource' to your Podfile.

API Changes

  • Placements will pass themselves to AATStatisticsDelegate listener methods as a parameter called placement of type AATPlacement. This parameter will enable the delegates to know which placement triggered the delegate method. The placement name can be checked by using the method: placement.getName().
    • Changed APIs:
      • func AATKitCountedAdSpace(placement: AATPlacement?)
      • func AATKitCountedRequest(placement: AATPlacement?, for network: AATAdNetwork)
      • func AATKitCountedResponse(placement: AATPlacement?, for network: AATAdNetwork)
      • func AATKitCountedImpression(placement: AATPlacement?, for network: AATAdNetwork)
      • func AATKitCountedNetworkImpression(placement: AATPlacement?, for network: AATAdNetwork)
      • func AATKitCountedVImpression(placement: AATPlacement?, for network: AATAdNetwork)
      • func AATKitCountedClick(placement: AATPlacement?, for network: AATAdNetwork)
      • func AATKitCountedDirectDealImpression(placement: AATPlacement?, for network: AATAdNetwork)
      • func AATKitCountedMediationCycle(placement: AATPlacement?)
  • Placements will pass themselves to AATImpressionDelegate listener methods as a parameter called placement of type AATPlacement. This parameter will enable the delegates to know which placement triggered the delegate method. The placement name can be checked by using the method: placement.getName().

    • Changed APIs:
      • func didCountImpression(placement: AATPlacement?, _ impression: AATImpression)
  • Add child-directed support that enables publishers to treat their content as child-directed while requesting ads.

    • Note: if an AdNetwork doesn't support child-directed Requests, AATKit will skip this network while requesting Ads.
    • API: public static func setIsChildDirected(_ isChildDirected: Bool)
    • Usage: AATSDK.setIsChildDirected(true)
  • Provide impression-level revenue data via the AATImpression object

    • Add currencyCode and precision properties to the AATImpression object.
    • If the ad network provides impression-level revenue data, AATKit will use this information during the AATImpression instantiation and pass it to AATImpressionDelegate via the func didCountImpression(placement: AATPlacement?, _ impression: AATImpression) callback. Otherwise, AATKit will detect and collect the impression-level information internally and provide it to the impression delegate via the same func didCountImpression(placement: AATPlacement?, _ impression: AATImpression) callback.
    • Currently, only GoogleMobileAds supports impression-level revenue data.
  • Introduce new banner placement type: AATAutoLoadBannerPlacement and AATAutoLoadMultiSizeBannerPlacement which are based on AATBannerCache. They are intended to replace both AATStickyBannerPlacement and AATMultiSizeBannerPlacement hence, they have exactly the same functionality and provide the same APIs.

    • Creating the placement:

      • Swift: var placement = AATSDK.createAutoLoadBannerPlacement(name: "<PLACEMENT_NAME>", size: .banner320x50)
      • Swift: var placement = AATSDK.createAutoLoadMultiSizeBannerPlacement(name: "<PLACEMENT_NAME>")

      • Objective-C: id<AATAutoLoadBannerPlacement> placement = [AATSDK createAutoLoadBannerPlacementWithName:@"<PLACEMENT_NAME>" size:AATBannerPlacementSizeBanner300x50];

      • Objective-C: id<AATAutoLoadMultiSizeBannerPlacement> placement = [AATSDK createAutoLoadMultiSizeBannerPlacementWithName:@"<PLACEMENT_NAME>"];
    • Public Interfaces:

@objc public protocol AATAutoLoadBannerPlacement: AATPlacement {
    /// Set the placement delegate that will listen to ad loading and display events
    var delegate: AATAutoLoadBannerPlacementDelegate? { get set }
    /// Sets the placement statistics delegate
    var statisticsDelegate: AATStatisticsDelegate? { get set }
    /// Sets the placement impression delegate
    var impressionDelegate: AATImpressionDelegate? { get set }
    /// Sets the targeting information for the placement
    var targetingInfo: [String: [String]]? { get set }
    /// Sets the content targeting url for the placement.
    var contentTargetingUrl: String? { get set }

    /// Start the automatic reloading of the placement
    func startAutoReload()

    /// Stop the automatic reloading of the placement
    func stopAutoReload()

    /// Returns true if there is an ad loaded for given placement.
    func hasAd() -> Bool

    /// Returns placement view. Works only for banner placements.
    func getPlacementView() -> UIView?

    /// Sets placement default image. This image will be shown in placement when no ad is available.
    func setDefaultImage(image: UIImage)

    /// Sets gravity for ads that don't fill entire placement area. Works only for sticky banner placements.
    func setBannerAlign(alignment: AATBannerAlign)
}
@objc public protocol AATAutoLoadMultiSizeBannerPlacement: AATPlacement {
    /// Set the placement delegate that will listen to ad loading and display events
    var delegate: AATAutoLoadMultiSizeBannerPlacementDelegate? { get set }
    /// Sets the placement statistics delegate
    var statisticsDelegate: AATStatisticsDelegate? { get set }
    /// Sets the placement impression delegate
    var impressionDelegate: AATImpressionDelegate? { get set }
    /// Sets the targeting information for the placement
    var targetingInfo: [String: [String]]? { get set }
    /// Sets the content targeting url for the placement.
    var contentTargetingUrl: String? { get set }

    /// Start the automatic reloading of the placement
    func startAutoReload()

    /// Stop the automatic reloading of the placement
    func stopAutoReload()
}

Improvements

  • Implement GoogleMobileAds Fluid banners.
  • Extend cached rules lifetime.
  • Improve AATAdMobMediationAdapter logs.
  • Validate that all AATSDK public APIs are called from the main thread.
  • Throttle download rules request when failed.
  • Add internal custom timeout for probed requests (3.5 seconds).

Fixes

  • Fix an issue in the fullscreen placement where sometimes the clicks/vImp callbacks are not fired.
  • Fix an issue in the fullscreen placement where sometimes the loaded ad was set to nil while needed.
  • Fix an issue where NativeAd and Banner ads sometimes don't call the proper app pause/resume callbacks.

Library Updates

  • AppLovin to v11.7.1
  • Xandr (AppNexus) to 8.3.0
  • Bluestack to 4.1.8
  • GoogleMobileAds to v10.0.0
    • Note: GoogleMobileAds No longer serve ads to iOS 11. iOS 12 is required to retrieve ads. Keep supporting iOS 10.
  • GoogleMobileAdsMediationFacebook to 6.12.0.1
  • FeedAd to 1.5.3
  • InMobi to v10.5.3
  • Ogury to v4.0.0
  • Prebid to 2.0.8
  • Pubnative to 2.17.0
  • Smaato to 22.0.1
  • Equativ (SmartAd) to 7.20.0
  • UnityAds to 4.5.0
  • Vungle to 6.12.2
  • YOC to 3.1.1
  • TeadsSDK to v5.0.25
  • Criteo to 4.6.0

2.80.0 - 2023-03-02

The swift package manager of this version could be found here.

Improvements

  • AATKit v2 is now one binary with M1 support containing all ad networks.

Library Updates

  • AppLovin to v11.7.1
  • Xandr (AppNexus) to 8.3.0
  • Bluestack to 4.1.8
  • GoogleMobileAds to v10.1.0
    • Note: GoogleMobileAds No longer serve ads to iOS 11. iOS 12 is required to retrieve ads. Keep supporting iOS 10.
  • GoogleMobileAdsMediationFacebook to 6.12.0.1
  • FeedAd to 1.5.3
  • InMobi to v10.5.3
  • Ogury to v4.0.0
  • Prebid to 2.0.8
  • Pubnative to 2.17.0
  • Smaato to 22.0.1
  • Equativ (SmartAd) to 7.20.1
  • UnityAds to 4.5.0
  • Vungle to 6.12.2
  • YOC to 3.1.1
  • TeadsSDK to v5.0.25
  • Criteo to 4.6.0

3.1.4 - 2023-02-21

The swift package manager of this version could be found here.

Updates

  • Update Pubnative SDK to version 2.17.0

3.1.3 - 2023-02-16

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with DFP and AdMob banners.

3.1.2 - 2023-02-02

The swift package manager of this version could be found here.

Fixes

  • Fix an issue where enable/disable debug screen APIs weren't working properly.
  • Fix an issue with Fullscreen frequency capping.
  • Fix an issue with SmartAd SupplyChain object handling.

3.1.1 - 2023-01-12

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with InMobi ad requests.
  • Fix an issue where some work items were not cancelled properly.

3.1.0 - 2022-12-16

The swift package manager of this version could be found here.

First stable version of the 3.1 series.

New ad networks

  • Teads SDK (version 5.0.22), supporting video banner ads.
    • Teads is an optional ad network. You can add it by adding this line pod 'AATKit/Teads' to your Podfile.

Fixes

  • Fix an issue with the sticky banner placement internal reloading logic.
  • Fix an issue with ad loading regarding native ads.
  • Fix an issue with ad loading regarding fullscreen ads when using frequency capping.
  • Fix a typo in the Pubnative interstitial skip offset key that should be set in the publishers’ info.plist.
    • Renamed from AATKitPubnativeOffsetSecsVideoLInterstitial to AATKitPubnativeOffsetSecsVideoInterstitial
    • AATKit will keep supporting the old key: AATKitPubnativeOffsetSecsVideoLInterstitial.
  • Automatically react to changed IAB consent if VendorConsent is used.
  • Persist debug log choice after the shake debug screen.

Updates

  • AppLovin to v11.6.0
  • Xandr (AppNexus) to v8.2.0
  • AmazonHB to v4.5.6
  • Bluestack to v4.1.3
  • GoogleMobileAds to v9.13.0
  • GoogleMobileAdsMediationFacebook to v6.12.0.0
  • FeedAd to v1.5.2
  • InMobi to v10.1.2
  • Ogury to v2.2.0
  • Prebid to v2.0.5
  • Pubnative to v2.16.1
  • Smaato to v21.7.8
  • Equativ (SmartAd) to v7.19.2
  • UnityAds to v4.4.1
  • Vungle to v6.12.1
  • YOC to v3.0.0

Changes

  • Xandr (AppNexus) update requires a new identifier for initialising the network SDK, make sure to have network keys updated with memberId in the extraInfo field.
  • Implement the “Placements initial delay” feature for all ad formats.
    • This feature allows publishers to delay the provision of ads for a configurable amount of seconds after the first app fresh install.
    • Publishers can control the initial delay for each placement using the AddApptr dashboard in the create/edit placements popup.
  • Provide the "supply chain object" to Equativ (SmartAd Server) ad requests.
  • Placements will pass themselves to all placements-specific listener methods as a parameter called placement of type AATPlacement to their delegates. This parameter will enable the delegates to know which placement triggered the delegate method. The placement name can be checked by using the method: placement.getName().
    • Changed APIs:
      • func aatHaveAd(placement: AATPlacement)
      • func aatNoAd(placement: AATPlacement)
      • func aatAdCurrentlyDisplayed(placement: AATPlacement)
      • func aatResumeAfterAd(placement: AATPlacement)
      • func aatUserEarnedIncentive(placement: AATPlacement, aatReward: AATReward)
      • func aatHaveAdWithBannerView(placement: AATPlacement, bannerView: AATBannerPlacementWrapperView)
  • General logging improvements.

3.0.16 - 2022-12-09

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with Teads banners.
  • Fix an internal issue with consent handling for some ad networks.
  • Fix and improve the SDK logs.

2.79.0.1  - 2022-12-06 (With M1 Support)

2.79.0.0 - 2022-12-06

The swift package manager of this version could be found here.

New ad networks

  • Teads SDK (version 5.0.22), supporting video banner ads
    • Teads is an optional ad network. You can add it by adding this line pod 'AATKit/Teads' to your Podfile.

Updates

  • AppLovin to v11.6.0
  • AppNexus to v8.2.0
  • AmazonHB to v4.5.6
  • Bluestack to v4.1.3
  • GoogleMobileAds to v9.13.0
  • GoogleMobileAdsMediationFacebook to v6.12.0.0
  • FeedAd to v1.5.2
  • InMobi to v10.1.2
  • IronSource to v7.2.5.1
  • Ogury to v2.2.0
  • Prebid to v2.0.5
  • Pubnative to v2.16.1
  • Smaato to v21.7.8
  • SmartAd to v7.19.2
  • UnityAds to v4.4.1
  • Vungle to v6.12.1
  • YOC to v3.0.0

3.1.0-beta10 - 2022-11-30

Fixes

  • Fix an issue with sticky banners fill rate.
  • Fix some issues with internal ad loading.

3.0.15 - 2022-11-21

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with InMobi banners.

3.0.14 - 2022-11-17

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with statistics reporting.

3.0.13 - 2022-11-10

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with DFP adaptive and inline banners.

3.1.0-beta9 - 2022-11-08

Fixes

  • The same fixes from the stable version 3.0.12.

3.0.12 - 2022-11-08

The swift package manager of this version could be found here.

Fixes

  • fix an issue with statistics reporting.
  • fix an issue with AppOpen placements reporting.
  • Improve AdMob driver logs.

3.1.0-beta8 - 2022-11-07

Fixes

  • Fix an internal issue in the Infeed banner placement.

3.1.0-beta7 - 2022-11-03

Fixes

  • Persist the debug log choice in the shake debug screen.
  • Fix a typo in the Pubnative interstitial skip offset key that should be set in the publishers’ info.plist.
    • Renamed from AATKitPubnativeOffsetSecsVideoLInterstitial to AATKitPubnativeOffsetSecsVideoInterstitial
    • We will keep supporting the key with the typo: AATKitPubnativeOffsetSecsVideoLInterstitial.

2.79.0-beta3 - 2022-11-03

Fixes

  • Fix an issue with Criteo banner requests.
  • Fix a typo in the Pubnative interstitial skip offset key that should be set in the publishers’ info.plist.
    • Renamed from AATKitPubnativeOffsetSecsVideoLInterstitial to AATKitPubnativeOffsetSecsVideoInterstitial
    • We will keep supporting the key with the typo: AATKitPubnativeOffsetSecsVideoLInterstitial.

3.0.11 - 2022-10-28

The swift package manager of this version could be found here.

Fixes

  • fix an issue with session reporting.
  • fix an internal issue with consent handling.
  • fix an issue with Criteo banners bids.
  • fix an issue with impressions handling in the sticky banners, multi-size banners and native Ads.
  • fix an issue with infeed banners with multiple sizes rules.

3.1.0-beta6 - 2022-10-28

Fixes

  • Include fixes from the stable version 3.0.11.
  • Fix an internal issue where the HyBid OMSDK library was not found.

3.1.0-beta5 - 2022-10-25

Fixes

  • Fix an issue that occurs when using the alternativeBundleID (From the stable version 3.0.10).

3.0.10 - 2022-10-25

The swift package manager of this version could be found here.

Fixes

  • Fix an issue that occurs when using the alternativeBundleID.

3.1.0-beta4 - 2022-10-21

Fixes:

  • Fix an internal issue with consent handling.

Updates

  • AppLovin SDK to v11.5.2
  • AppNexus SDK to v8.1.0
  • AmazonHB SDK to v4.5.5
  • Bluestack SDK to v4.1.3
  • GoogleMobileAds SDK to v9.11.0
  • GoogleMobileAdsMediationFacebook SDK to v6.11.2.0
  • FeedAd SDK to v1.5.0
  • InMobi SDK to v10.1.0
  • Prebid SDK to v2.0.3
  • Pubnative SDK to v2.16.0
  • Smaato SDK to v21.7.7
  • SmartAd SDK to v7.19.0
  • UnityAds SDK to v4.4.1
  • Vungle SDK to v6.12.0
  • YOC SDK to v3.0.0

2.79.0-beta2 - 2022-10-21

Updates

  • AppLovin SDK to v11.5.2
  • AppNexus SDK to v8.1.0
  • AmazonHB SDK to v4.5.5
  • Bluestack SDK to v4.1.3
  • GoogleMobileAds SDK to v9.11.0
  • GoogleMobileAdsMediationFacebook SDK to v6.11.2.0
  • FeedAd SDK to v1.5.0
  • InMobi SDK to v10.1.0
  • Prebid SDK to v2.0.3
  • Pubnative SDK to v2.16.0
  • Smaato SDK to v21.7.7
  • SmartAd SDK to v7.19.0
  • UnityAds SDK to v4.4.1
  • Vungle SDK to v6.12.0
  • YOC SDK to v3.0.0

3.1.0-beta3 - 2022-10-12

Fixes

  • Fix an internal issue with rules validation (From the stable version 3.0.9).

3.0.9 - 2022-10-11

The swift package manager of this version could be found here.

Fixes

  • Fix an internal issue with rules validation.

3.1.0-beta2 - 2022-10-11

Fixes

  • Fix an issue with native ads impressions tracking (From the stable version 3.0.8).

3.0.8 - 2022-10-10

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with native ads impressions tracking.

3.1.0-beta1 - 2022-10-10

Changes

  • Implement the “Placements initial delay” feature for all ad formats.
    • This feature allows publishers to delay the provision of ads for a configurable amount of seconds after the first app fresh install.
    • Publishers can control the initial delay for each placement using the AddApptr dashboard in the create/edit placements popup.
  • Provide the "supply chain object" to SmartAd Server ad requests.
  • Placements will pass themselves to all placements-specific delegate methods as a parameter called AATPlacement to their listeners. This parameter will enable the listeners to know which placement triggered the delegate method using this method: placement.getName().
    • Changed APIs:
      • func aatHaveAd(placement: AATPlacement)
      • func aatNoAd(placement: AATPlacement)
      • func aatAdCurrentlyDisplayed(placement: AATPlacement)
      • func aatResumeAfterAd(placement: AATPlacement)
      • func aatHaveAdWithBannerView(placement: AATPlacement, bannerView: AATBannerPlacementWrapperView)
      • func aatUserEarnedIncentive(placement: AATPlacement, aatReward: AATReward)

3.0.7 - 2022-10-06

The swift package manager of this version could be found here.

Fixes

  • Fix an issue with banner viewable impressions tracking.

3.0.6 - 2022-10-05

The swift package manager of this version could be found here.

Changes

  • Implement SmartAd In-App Bidding.

3.0.5 - 2022-10-04

The swift package manager of this version could be found here.

Fixes

  • Fix an issue where AATBannerCacheConfiguration init method was not exposed to Objective-C.

3.0.4 - 2022-09-29

The swift package manager of this version could be found here.

Fixes

  • Fix an issue in AATStickyBannerPlacement auto-reloading.
  • Fix an issue in logging where large logs were being trimmed.

3.0.3 - 2022-09-21

The swift package manager of this version could be found here.

Fixes

  • Fix a crash that happens when AATKit logs contain a URL.

3.0.2 - 2022-09-19

The swift package manager of this version could be found here.

Changes

  • Change the public API that sets the currently active view controller:
    • From:
      • API: public static func controllerViewWillAppear(controller: UIViewController)
      • Usage: AATSDK.controllerViewWillAppear(controller: self)
    • To:
      • API: public static func controllerViewDidAppear(controller: UIViewController)
      • Usage: AATSDK.controllerViewDidAppear(controller: self)

3.0.1 - 2022-09-13

The swift package manager of this version could be found here.

Changes

  • Improve the SDK logs to work with the Console app.

3.0.0 - 2022-09-07

The swift package manager of this version could be found here.

The first stable version of AATKit 3.

AATKit 3 comes with the following improvements:

  • New object-oriented APIs for all placement types.
  • Each placement now uses a separate delegate (as opposed to the general delegate used by AATKit 2), informing about placement events like ad load, pause for ad etc.
  • Report new KPI mediationCylces.
  • Report new dimension consent type.
  • Report new dimension consent value.
  • Request rules with consent value.
  • Add a new API for passing PublisherProvidedId to Ad Networks that support it (DFP and DFPDirect):
    • setPublisherProvidedId(_ publisherProvidedId: String).
  • Some method names have changed for improved consistency across platforms.
  • The name of the public interface has been changed from AATKit to AATSDK.
  • AATKit 3 is M1 compatible, hence ad networks not supporting M1 are removed until they support M1:
    • ironSource.
  • Enable Ad Networks SDKs debug logs by server config.
  • Merging server-side keywords with the SDK global keywords.
  • Calling ‘controllerViewWillAppear(:)’ and ‘controllerViewWillDisappear()’ can now be called on AATSDK directly.

Updates

  • Xandr (APPNEXUS) SDK to 8.0.0 - as this update requires a new identifier for initialising the Xandr network SDK, please make sure to have network keys updated with the memberId in the extraInfo field.

To migrate from AATKit 2, please refer to our AATKit 3 Migration Guide.

2.79.0-beta1 - 2022-09-06

Fixes:

  • All fixes that have been done on v2.78.1.

Updates

  • Xandr (APPNEXUS) SDK to 8.0.0 - as this update requires a new identifier for initialising the Xandr network SDK, please make sure to have network keys updated with memberId in the extraInfo field.

2.78.2.1  - 2022-08-25 (With M1 Support)

2.78.2.0 - 2022-08-25

The swift package manager of this version could be found here.

Fixes

  • OguryChoiceManager Use the new start(with:) API instead of the deprecated one.

3.0.0-beta19 - 2022-08-11

Changes

  • Report new KPI "mediationcycles".
  • Enable Ad Networks SDKs debug logs by server config.
  • Merging server-side keywords with the SDK global keywords.
  • Calling ‘controllerViewWillAppear’ and ‘controllerViewWillDisappear’ can now be called on AATSDK directly.

Fixes

  • Fix an issue in Fullscreen Ad that caused some AdNetwork events not to be called

3.0.0-beta18 - 2022-07-25

First beta of AATKit 3

AATKit 3 comes with the following improvements:

  • New object-oriented APIs for all placement types.
  • Each placement now uses a separate delegate (as opposed to general delegate used by AATKit 2), informing about placement events like ad load, pause for ad etc.
  • Some method names have changed for improved consistency across platforms.
  • The name of the public interface has changed from AATKit to AATSDK.
  • AATKit 3 is M1 compatible, hence ad networks not supporting M1 are removed until they support M1:
    • ironSource

To learn more about the changes, please refer to our AATKit 3 Migration Guide.

2.78.1.1  - 2022-07-22 (With M1 Support)

2.78.1.0 - 2022-07-22

The swift package manager of this version could be found here

Fixes

  • Fix an issue where IronSource appeared as it is not integrated.

2.78.0.1  - 2022-07-04 (With M1 Support)

2.78.0.0 - 2022-07-04

The swift package manager of this version could be found here

Updates

  • AdColony SDK to v 4.9.0
  • AmazonHB SDK to v 4.5.1
    • AmazonPublisherServicesSDK SDK now has a minimum target of ios 12.0
  • AppLovinSDK SDK to v 11.4.3
  • AppNexusSDK SDK to v 7.22.0
  • Bluestack SDK to v 4.1.0
  • CriteoSDK SDK to v 4.5.0
  • GoogleMobileAdsMediationFacebook SDK to v 6.11.1.0
  • GoogleMobileAds SDK to v 9.6.0
  • Inmobi SDK to v 10.0.7
  • PrebidSDK SDK to v 2.0.1
  • PubNative SDK to v 2.14.0
  • Smaato SDK to v 21.7.6
  • SmartAdServer SDK to v 7.18.0
  • UnityAds SDK to v 4.2.1
  • Vungle SDK to v 6.11.0
  • OgurySdk SDK to v 2.1.0
  • YOC SDK to v 2.3.0

New Ad Networks, Network Formats

  • Integrate Vungle banner and MREC ads.
  • Implement AppLovinMax nativeAd Format.
  • Integrate IronSource ad network (Fullscreen / Rewarded Video) v 7.2.2.1

Changes

  • Implement RTA for AppNexus banners.
  • Implement RTA for YOC banners.
  • Add missing screen sizes to AATKitAdType enum and apply them on banner placements.
  • Replace Ogury deprecated methods/APIs/Delegates with the corresponding up-to-date methods/APIs/Delegates.
  • Stop supporting manual SDK integration. Publishers can integrate AATKit either using Cocoapods or Swift Package Manager.
  • Set Prebid timout to 3 seconds.

Fixes

  • Fix an issue in FeedAd banner where the SDK kept recieving multiple callbacks after failing to load an Ad.

2.77.4.1  - 2022-06-20 (With M1 Support)

Note: (please refer to the M1 integration guide)

  • The same changes in version 2.77.4.0

2.77.4.0 - 2022-06-20

Fixes

  • Fix an issue that prevented Applovin banner from loading ads sometimes.
  • Fix an issue that distributes irrelevant rules to placement named "banner"

2.77.3.1  - 2022-06-02 (With M1 Support)

Note: (please refer to the M1 integration guide)

  • The same changes in version 2.77.3.0

2.77.3.0 - 2022-06-02

Fixes

  • Fix a crash in AdMob native ads when not using the proper GadAdView as the tracking view

2.78.0-beta1 - 2022-04-28

New Ad Networks, Network Formats

  • Integrate IronSource ad network (Fullscreen / Rewarded Video)

Changes

  • The same changes and fixes in the stable version 2.77.2.0
  • Implement RTA for AppNexus banners
  • Implement RTA for YOC banners
  • Add missing screen sizes to AATKitAdType enum and apply them on banner placements
  • Replace Ogury deprecated methods/APIs/Delegates with the corresponding up-to-date methods/APIs/Delegates
  • Stop supporting manual SDK integration. Publishers can integrate AATKit either using Cocoapods or Swift Package Manager

Updates

  • Update GoogleMobileAds SDK to v9.1.0

2.77.2.1  - 2022-04-27 (With M1 Support)

Note: (please refer to the M1 integration guide)

  • The same changes in version 2.77.2.0

2.77.2.0 - 2022-04-27

Changes

  • Set default skip offset for PubNative fullscreen ads to 5s
  • Remove Yandex SDK
  • Remove Mopub SDK

Fixes

  • Fix an issue in the M1 version logging

2.77.1.1  - 2022-03-30 (With M1 Support)

2.77.1.0 - 2022-03-30

The swift package manager of this version could be found here

Note:
  • For Facebook adapter 6.9.0.0 or higher, you must add Swift paths to your target's Build Settings to prevent compile errors. For more information, please check Facebook AdMob Adapter documentation

Updates

  • AdColony SDK to 4.8.0

Changes

  • Creating placement now doesn't accept placement names that start/end with an empty space.

2.77.0.1  - 2022-03-15 (With M1 Support)

2.77.0.0 - 2022-03-15

The swift package manager of this version could be found here

Note:
  • For Facebook adapter 6.9.0.0 or higher, you must add Swift paths to your target's Build Settings to prevent compile errors. For more information, please check Facebook AdMob Adapter documentation

Updates

  • AppLovin SDK to v 11.2.0
  • AmazonHB SDK to v 4.3.1
  • GoogleMobileAds SDK to v 8.13.0
  • AppNexus SDK to v 7.20
  • InMobi SDK to v 10.0.2
  • FeedAd SDK to v 1.4.0
    • FeedAd 1.4.0 has the minimum iOS target of 11.0
  • OguryAds SDK to v 3.0.0
  • OguryCMP SDK to v 4.0.0
  • Pubnative SDK to v 2.11.1
  • Smaato SDK to v 21.7.0
  • SmartAdServer SDK to v 7.15.0
  • Unity SDK to v 4.0.1
  • Yandex SDK to v 4.4.2
  • YOC SDK to v 2.2.0
  • GoogleMobileAdsMediationFacebook SDK to v 6.9.0.0

New Ad Networks, Network Formats

  • Introduce Google AdMob custom events adding a new framework AATAdMobMediationAdapter. For integration guide, please check AATAdMobMediationAdapter section in our documentation
  • Implement DFP (Direct)
  • Integrate ApplovinMax Ad Network (Banners / Fullscreen)
    • Please download the following script and follow the steps suggested by Applovin.
  • Integrate Prebid SDK v1.12.1 (Banners / Fullscreen)
  • Implement PubNative native ads format
  • Integrate Vungle SDK v6.10.6 (Fullscreen)

Changes

  • Add app version to the report of reporting statistics

Fixes

  • Use the identifierForVendor only if purpose 1 is enabled in case the consent string exists

2.77.0-beta3 - 2022-03-09

Note:
  • For Facebook adapter 6.9.0.0 or higher, you must add Swift paths to your target's Build Settings to prevent compile errors. For more information, please check Facebook AdMob Adapter documentation

Fixes

  • Fix an issue in Prebid interstitial ad unit constructor

Updates

  • AppLovin SDK to v 11.2.0
  • AmazonHB SDK to v 4.3.1
  • GoogleMobileAds SDK to v 8.13.0
  • AppNexus SDK to v 7.20
  • InMobi SDK to v 10.0.2
  • FeedAd SDK to v 1.4.0
  • OguryAds SDK to v 3.0.0
  • OguryCMP SDK to v 4.0.0
  • Pubnative SDK to v 2.11.1
  • Smaato SDK to v 21.7.0
  • SmartAdServer SDK to v 7.15.0
  • Unity SDK to v 4.0.1
  • Yandex SDK to v 4.4.2
  • YOC SDK to v 2.2.0

2.77.0-beta1 - 2022-02-25

New Ad Networks, Network Formats

  • Introduce Google AdMob custom events
    • Introduced a new AddApptr SDK (AATAdMobMediationAdapter) that implements AdMob custom events (Banners/Fullscreen/RewardedVideo/NativeAd)
    • How AATAdMobMediationAdapter Works:
      • Publishers must prepare their AdMob dashboard adding custom events to their mediation
      • AATAdMobMediationAdapter Implements AdMob custom events delegates
      • AATAdMobMediationAdapter internally calls AATKit whenever GoogleMobileAds asks for an ad request (that happens when the publisher requests an ad through GoogleMobileAds)
      • When AATKit responds, AATAdMobMediationAdapter notifies the GoogleMobileAds with the request result using the AdMob custom events delegate methods
    • AATAdMobMediationAdapter Integration steps:
      1. In the AdMob dashboard, click on mediation on the left menu
      2. Create a new mediation for each ad format (Don't forget to choose the proper ad unit that you are using in your application in the GoogleMobileAds integration)
      3. Open the newly created mediation and add a custom event
      4. Edit the custom event and add the proper class name from the following:
        • Banner class name: AATAdMobBannerAdapter
        • Interstitial class name: AATAdMobInterstitialAdapter
        • Rewarded video class name: AATAdMobRewardedVideoAdapter
        • Native ads class name: AATAdMobNativeAdAdapter
      5. Add AATAdMobMediationAdapter to your Podfile: pod 'AATAdMobMediationAdapter'
      6. Add GoogleMobileAds to your Podfile: pod 'Google-Mobile-Ads-SDK'
      7. Integrate with GoogleMobileAds different ad formats following their documentation (Please Use the proper app ID to your info.plist under GADApplicationIdentifier key)
      8. In the viewWillAppear() of the viewController that requests an ad from Google, call the AATAdMobMediationAdapter public API: AATAdMobMediationAdapter.sharedInstance().viewControllerWillAppear(self)
      9. In the viewWillDisappear() of the viewController that called the API in the above step, call the AATAdMobMediationAdapter public API: AATAdMobMediationAdapter.sharedInstance().viewControllerWillDisAppear(self)
      10. Important: Finally, if you didn't see any logs with this pattern AATAdMobMediationAdapter: -[...] while testing your integration, Please remove all ad sources in the Bidding section of the created mediation group
  • Implement DFP (Direct)
  • Integrate ApplovinMax Ad Network (Banners / Fullscreen)
    • Please download the following script and follow the steps suggested by Applovin.
  • Integrate Prebid SDK (Banners / Fullscreen)
  • Implement PubNative native ads format
  • Integrate Vungle Ad Network (Fullscreen)

Changes

  • Add app version to the report of reporting statistics

Updates

  • GoogleMobileAdsMediationFacebook SDK to v 6.9.0.0

2.76.3.1  - 2022-02-08 (With M1 Support)

2.76.3.0 - 2022-02-08

The swift package manager of this version could be found here

Fixes

  • Fix an issue regarding updating AATKitStatisticsDelegate instances in placements

2.76.2.0 - 2022-01-18

The swift package manager of this version could be found here

Note: There's a potential crash in GoogleMobileAdsMediationFacebook and FBAudienceNetwork due to FBSDKCoreKit_Basics dependency that renamed the URLValue() method to coercedToURLValue() in version 12.2.X. Publishers can avoid this crash by overriding the FBSDKCoreKit_Basics version to 12.1.0 by adding the following to the Podfile :

pod 'FBSDKCoreKit_Basics', '12.1.0'

Updates

  • YOC SDK to v 2.1.1

2.76.1.1  - 2022-01-13 (With M1 Support)

2.76.1.0 - 2022-01-13

The swift package manager of this version could be found here

Note: There's a potential crash in GoogleMobileAdsMediationFacebook and FBAudienceNetwork due to FBSDKCoreKit_Basics dependency that renamed the URLValue() method to coercedToURLValue() in version 12.2.X. Publishers can avoid this crash by overriding the FBSDKCoreKit_Basics version to 12.1.0 by adding the following to the Podfile :

pod 'FBSDKCoreKit_Basics', '12.1.0'

Fixes

  • Fix an issue in BannerCache where statistics delegate is not being set when reusing banner cache with a previously used placement name
  • Fix architecture warnings while installing AATAdColonyAdapter and AATDependencyHelper

Updates

  • AATAdColonyAdapter SDK to v 1.0.3
  • AATDependencyHelper SDK to v 1.0.11

2.76.0.1  - 2021-12-22 (With M1 Support)

2.76.0.0 - 2021-12-22

The swift package manager of this version could be found here

Note: There's a potential crash in GoogleMobileAdsMediationFacebook and FBAudienceNetwork due to FBSDKCoreKit_Basics dependency that renamed the URLValue() method to coercedToURLValue() in version 12.2.X. Publishers can avoid this crash by overriding the FBSDKCoreKit_Basics version to 12.1.0 by adding the following to the Podfile :

pod 'FBSDKCoreKit_Basics', '12.1.0'

Changes

  • Drop iOS 9. AATKit minimum deployment target is now iOS 10.0
  • Implement impressions level information for all ad formats (Please refer to the documentation)
  • Implement direct deal impressions
  • Implement GoogleMobileAds adaptive "inline" banners
  • Add the support of AppNexus native banners format (please refer to the documentation)
  • SmartAd native ads, use the delegate method didClickWithURL

Fixes

  • Fix AATDependencyHelper architectures warnings with M1 machines
  • Fix AATAdColonyAdapter architectures warnings with M1 machines

New Ad Networks, Network Formats

  • Integrate FeedAd Ad Network v 1.3.2 (Banners / Fullscreen)

Updates

  • AdColony SDK to v 4.7.2
  • AmazonHB SDK to v 4.2.1
  • AppLovin SDK to v 10.3.6
  • AppNexus SDK to v 7.18.0
  • Criteo SDK to v 4.4.0
  • GoogleMobileAdsMediationFacebook SDK to v 6.8.0.0
  • Mopub SDK to v 5.18.2
  • Smaato SDK to v 21.6.17
  • SmartAd SDK to v 7.14.0
  • Yandex SDK to v 4.4.1
  • YOC SDK to v 2.0.3
  • AdColony SDK to v 4.7.2
  • AATAdColonyAdapter SDK to v 1.0.2
  • AATDependencyHelper SDK to v 1.0.10

2.75.5.1  - 2021-11-30 (With M1 Support)

2.75.5.0 - 2021-11-30

The swift package manager of this version could be found here

Changes

  • Add the support of AppNexus native banner format
    • In the application Info.plist, add a new raw with key AATKitAppNexusNativeBanner of type BOOL
  • Pubnative Fullscreen ads, Add the support to set the close button waiting time
    • In the application Info.plist, set AATKitPubnativeOffsetSecsHTMLInterstitial to the desired int value
    • In the application Info.plist, set AATKitPubnativeOffsetSecsVideoLInterstitial to the desired int value
  • Add OguryCMP to OguryAds dependency

Updates

  • OguryAds to v 2.5.1
  • Pubnative to v 2.8.0

2.76.0-beta3 - 2021-11-29

Changes

  • Add the support to disable FeedAd banner spinner by adding the key AATKitFeedAdDisableSpinner to the Info.plist with value true
  • AATKitImpression now provides two new APIs:
    • Objective-C
      • - (NSString *)getAdNetworkName returns the network name
      • - (NSString *)getMediationTypeName returns the mediation type
    • Swift
      • func getAdNetworkName() -> String returns the network name
      • func getMediationTypeName() -> String returns the mediation type
  • Add the support to set custom background colour for FeedAd banner ads
    • In the application Info.plist, add a new raw with key AATKitFeedAdShutterColour of type String and use the desired hex colour in the value
    • The allowed hex colour formats are: #ffffff and #ffffffff
  • Add the support of AppNexus native banner format
    • In the application Info.plist, add a new raw with key AATKitAppNexusNativeBanner with value true
  • Pubnative Fullscreen ads, Add the support to set the close button waiting time
    • In the application Info.plist, set AATKitPubnativeOffsetSecsHTMLInterstitial to the desired int value
    • In the application Info.plist, set AATKitPubnativeOffsetSecsVideoLInterstitial to the desired int value
  • Process and update the fetched rules set only if the new rules differ from cached rules
  • Add OguryCMP to OguryAds dependency

Fixes

  • Fix an issue in AATKitImpression direct deal reporting
  • Fix some architecture warnings in AATDependencyHelper

Updates

  • AATDependencyHelper to v 1.0.9
  • OguryAds to v 2.5.1
  • Pubnative to v 2.8.0

2.75.4.1  - 2021-11-11 (With M1 Support)

2.75.4.0 - 2021-11-11

The swift package manager of this version could be found here

Fixes

  • Fix an issue with Unity rewarded video ads

2.75.3.1  - 2021-11-05 (With M1 Support)

2.75.3.0 - 2021-11-05

The swift package manager of this version could be found here

Fixes

  • Fix a crash happens if the publisher didn’t implement the AATKitDelegate method AATKitPauseForAd

2.76.0-beta2 - 2021-11-02

Changes

  • Implement Google adaptive inline banners
  • Replace FeedAd banners implementation to use feed ads instead of standalone

Fixes

  • Replace SmartAd NativeAd deprecated method shouldHandleClickURL with didClickWithURL

Updates

  • AdColony to v 4.7.2
  • AppNexus to v 7.18.0
  • AmazonHB to v 4.2.1
  • AppLovin to v 10.3.6
  • Criteo to v 4.4.0
  • GoogleMobileAdsMediationFacebook to v 6.8.0.0
  • InMobi to v 10.0.1
  • MoPub to v 5.18.2
  • OguryAds to v 2.5.0
  • Pubnative to v 2.7.1
  • Smaato to v 21.6.17
  • SmartAdServer to v 7.14.0
  • Yandex to v 4.4.1
  • YOC to v 2.0.3

2.76.0-beta1 - 2021-10-14

Changes

  • Dropped the iOS 9.0 support. AATKit minimum deployment target is now iOS 10.0
  • Notify the publisher about the impression level information. Publishers can now listen to the impression events on the placements level by doing the following:

    • Conform to the protocol AATImpressionDelegate
    • Pass that class conforming to AATImpressionDelegate to the placement by the following APIs depending on the placement type:
      • Objective-C
        • + (void)setPlacementImpressionDelegate:(NSObject <AATImpressionDelegate>* _Nonnull)impressionDelegate forPlacement:(NSObject <AATKitPlacement> *_Nonnull)placement;
        • + (void)setPlacementImpressionDelegate:(NSObject <AATImpressionDelegate>* _Nonnull)impressionDelegate forBannerPlacement:(id _Nonnull)placement;
        • For AATBannerCache, please use this API - (void)setImpressionDelegate:(nullable id<AATImpressionDelegate>)impressionsDelegate;
      • Swift
        • func setPlacementImpressionDelegate(_ impressionDelegate: AATImpressionDelegate, for placement: AATKitPlacement)
        • func setPlacementImpressionDelegate(_ impressionDelegate: AATImpressionDelegate, forBannerPlacement placement: Any)
        • For AATBannerCache, please use the AATBannerCache API func setImpressionDelegate(_ impressionsDelegate: AATImpressionDelegate?)
    • You will get notified through the delegate method:

      • Objective-C
        • - (void) didCountImpression:(AATKitImpression *)impression;
      • Swift
        • func didCount(_ impression: AATKitImpression)
    • Pieces of information are banner size, ad network, network key, mediation type, if the impression comes from a direct deal, and price (currency: MAYO=EUR, Auction=USD, Waterfall=price not available).

    • The SDK now reports the placements direct deal impressions to AddApptr's backend

Fixes

  • Fix issue in banner cache while updating it with new AATAdRequest

New Ad Networks, Network Formats

  • Integrate FeedAd Ad Network (Banners / Fullscreen)

Updates

  • Google-Mobile-Ads SDK to version 8.12.0
  • Revert YOC SDK to version 2.0.0

2.75.2.1  - 2021-10-14 (With M1 Support)

2.75.2.0 - 2021-10-14

The swift package manager of this version could be found here

Changes

  • Revert YOC to version 2.0.0

2.75.1.1  - 2021-10-07 (With M1 Support)

2.75.1.0 - 2021-10-07

The swift package manager of this version could be found here

Changes

  • Starting iOS 14, use the CLLocationManager authorizationStatus instance property instead of the deprecated static method

Fixes

  • Fix issue in banner cache while updating it with new AATAdRequest

2.75.0.1  - 2021-10-06 (With M1 Support)

2.75.0.0 - 2021-10-06

Changes

  • Migrate to xcframework
  • Introduced support for passing of contentTargetingUrl and key-value targeting via execution rules
  • Replace current Facebook audience network dependency with google facebook adapter version 6.7.0.0 .
  • Add new public API to create AppOpen placement
    • + (nullable NSObject<AATKitPlacement>*)createAppOpenAdPlacement:(nonnull NSString*)placementName;
    • + (nullable NSObject<AATKitPlacement>*)createAppOpenAdPlacement:(nonnull NSString*)placementName andStatisticsDelegate:(nullable NSObject <AATKitStatisticsDelegate>*)statisticsDelegate
  • Add the support for GMA AdChoices icon position using the following public API
    • + (void) setAdChoicesIconPosition: (AdChoicesIconPosition) position;
  • Introduced a new feature to notify publishers when sending the statistics reports API
    • Publishers who want to be notified with the statistics reports request parameters should:
      • conform to the delegate: AATReportsDelegate
      • While initialising AATKit, pass the reportsDelegate to the AATConfiguration
  • Smart AdServer native ads: Use body asset as a fallback for description if subtitle is empty.
  • BannerCache switches to sequential mode if the all requests failed.

Fixes

  • Fix issue where aatKitNoAds delegate method not being called for IntentbannerPlacement

Updates:

  • AdColony SDK to version 4.7.0
  • AppLovinSDK SDK to version 10.3.4
  • Google-Mobile-Ads SDK to version 8.10.0
  • Smaato SDK to version 21.6.16
  • Appnexus SDK to version 7.16
  • Bluestack SDK to version 3.3.5
  • Mopub SDK to version 5.18.0
  • AmazonHB SDK to version 4.1.2
  • Smart-Display-SDK SDK to version 7.12.0
  • UnityAds SDK to version 3.7.5
  • Yandex SDK to version 4.3.1
  • Pubnative SDK to version 2.7.1
  • Ogury Ads SDK to version 2.4.0

New Ad Networks, Network Formats

  • Integrate GoogleMobileAdsMediationFacebook version 6.7.0.0
  • Integrate YOC SDK version 2.0.1 (Banners / Fullscreen)
    • YOC has the minimum iOS target of 12.1. So, it's implemented as an optional AdNetwork. Publishers can add it by adding the following line to the Podfile:
    • pod 'AATKit/YOC'

2.75.1-beta6  - 2021-09-27 (With M1 Support)

2.75.0-beta6 - 2021-09-27

Changes

  • Replace current Facebook audience network dependency with google facebook adapter version 6.7.0.0 .
  • Introduced a new feature to notify publishers when sending the statistics reports API
    • Publishers who want to be notified with the statistics reports request parameters should:
      • conform to the delegate: AATReportsDelegate
      • While initialising AATKit, pass the reportsDelegate to the AATConfiguration
  • Smart AdServer: Use Smart AdServer native ads body asset as a fallback for description if subtitle is empty.

2.74.12 - 2021-09-16

Fixes

  • Fixes minor issues in AATKitStatisticsDelegate

Changes

  • Introduced a new feature to notify publishers when sending the statistics reports API
    • Publishers who want to be notified with the statistics reports request parameters should:
      • conform to the delegate: AATReportsDelegate
      • While initialising AATKit, pass the reportsDelegate to the AATConfiguration

2.75.1-beta5  - 2021-09-13 (With For M1 Support)

2.75.0-beta5 - 2021-09-13

Updates

  • OguryAds SDK to version 2.4.0
  • Google-Mobile-Ads SDK to version 8.10.0

2.75.1-beta4  - 2021-08-31 (With For M1 Support)

2.75.0-beta4 - 2021-08-31

Changes

  • The support for GMA AdChoices icon position has been changed to be via a public API instead of info.plist
    • + (void) setAdChoicesIconPosition: (AdChoicesIconPosition) position;

2.74.11 - 2021-08-25

Fixes

  • Avoid initialising MoPub and Bluestack drivers if the iOS version is less than 10.0

2.74.10 - 2021-08-20

Fixes:

  • Fix an issue in Google fullscreen drivers where the ad dismiss event wasn’t being called in some cases

2.75.1-beta3  - 2021-08-10 (With For M1 Support)

2.75.0-beta3 - 2021-08-10

Changes

  • Add new public API to create AppOpen placement
    • + (nullable NSObject<AATKitPlacement>*)createAppOpenAdPlacement:(nonnull NSString*)placementName;
    • + (nullable NSObject<AATKitPlacement>*)createAppOpenAdPlacement:(nonnull NSString*)placementName andStatisticsDelegate:(nullable NSObject <AATKitStatisticsDelegate>*)statisticsDelegate
  • Add new public API for muting video ads (Only GoogleMobileAds provides this feature)
    • + (void) setVideoAdsMuted:(BOOL)muted;
  • Add support for GMA AdChoices icon position. Now publishers can set the key “AATKitAdChoicesIconPlacement” in their info.plist with one of the following values:
    • top_left | top_right | bottom_left | bottom_right
  • BannerCache switches to sequential mode if the whole requests fail.

Updates

  • AdColony SDK to version 4.7.0
  • AppLovinSDK SDK to version 10.3.4
  • FBAudienceNetwork SDK to version 6.5.1
  • Google-Mobile-Ads SDK to version 8.8.0
  • Smaato SDK to version 21.6.16
  • Appnexus SDK to version 7.16
  • Bluestack SDK to version 3.3.5
  • Mopub SDK to version 5.18.0
  • AmazonHB SDK to version 4.1.2
  • Smart-Display-SDK SDK to version 7.12.0
  • UnityAds SDK to version 3.7.5
  • Yandex SDK to version 4.3.1
  • Pubnative SDK to version 2.5.3

Fixes

  • Fix an issue in Statistics delegate where network name was reported as “UNKNOWN”
  • Fix an issue regarding NativeAds viewable impressions

2.74.9  - 2021-08-4

Fixes

  • Fix a crash that happen while parsing invalid multiple Size rule
  • Fix an issue where Viewable Impression is not counted for FullScreen placement

Updates

  • Update InMobi to 9.2.0

2.75.1-beta2  - 2021-06-23 (With For M1 Support)

Fixes

  • bug fixes from latest stable releases

2.75.0-beta2  - 2021-06-23

New Ad Networks, Network Formats

  • Integrate YOC Ad Network (Banners / Fullscreen)
    • YOC has the minimum iOS target of 12.1. So, it's implemented as an optional AdNetwork by adding the following line to your Podfile:
      • pod 'AATKit/YOC'

Fixes

  • bug fixes from latest stable releases

2.74.8 - 2021-07-22

Fixes

  • Fix an issue that would produce duplicate symbols

2.74.7 - 2021-07-21

Fixes

  • Fix a crash that happens if the identifierForVendor is null

2.74.6 - 2021-07-14

Fixes

  • Fix issue that sometimes prevents Banner Cache from loading Ads

2.74.5 - 2021-07-12

Fixes

  • Fix issue where the reward event for DFP rewarded ads wasn't fired.

2.74.4 - 2021-07-02

Fixes

  • Fix issue where SmartAd Server Native Ad fails to recognize tap gesture.

2.75.1-beta1  - 2021-06-22 (With For M1 Support)

2.75.0-beta1  - 2021-06-22

Changes:

  • Migrate to xcframework
  • Introduced support for passing of contentTargetingUrl and key-value targeting via execution rules.

Fixes

  • Fix issue where aatKitNoAds delegate method not being called for IntentbannerPlacement

2.74.3 - 2021-06-22

Changes

  • Integrate AdColony banners

New Ad Networks, Network Formats:

  • AdColony (Banners)

2.74.2  - 2021-06-21

Fixes

  • Fix an crash happens in case that GDPR doesn't apply

2.74.1  - 2021-06-18

Fixes

  • Fix AppLovin removal issue that happened with version 2.74.0

Updates

  • AppLovin SDK to 10.3.2

2.74.0  - 2021-06-17

Note : AppLovin removed their version (10.3.0) which is used in this AATKit version. If you have AppLovin in your dependencies, Please update to version AATKit v2.74.1

Changes

  • Enable debug logs from rules
  • start using ATTrackingManager from iOS 14.5 instead of iOS 14.0
  • Integrate GoogleMobileAds version 8.x
    • NOTE: In Google native ads, GADUnifiedNativeAdView has been renamed to GADNativeView
  • Implement the new AATKitReward incentive object with the userEarnedIncentive event
    • - (void) AATKitUserEarnedIncentiveOnPlacement: (nonnull NSObject<AATKitPlacement>*) placement withReward: (nullable AATKitReward *) reward;
    • - (void) AATKitUserEarnedIncentive:(nullable AATKitReward *) reward;
  • Add an extra validation layer before processing the rules (configs)
  • introduce new Delegate for Statistics events AATKitStatisticsDelegate
    • passed to placements through a new constructor
    • for more info please check our documentation
  • BannerCache now can update the rootViewController for cached Ads using the API: [AATkit setViewController:]
  • Banner now can update the rootViewController using the Api: [AATkit setViewController:]
  • start using rules protocol 18
  • Rules skipping: exclude direct deals rules
  • introduce Option “DEBUGLOG”
  • Implement publisher specific Amazon price points
    • If you are using AmazonHB, you will now need to place a file with your price points (named AATKit_AmazonHB.csv) in your app’s main bundle.
    • Please contact your Account Manager if you are using Amazon SDK.
  • AmazonHB: use CustomMediation instead of JS implementation

New Ad Networks, Network Formats

  • Integrate the new DFP AppOpen format
    • AppOpen format is being treated exactly as the Fullscreen placement but with creating it earlier in the AppDelegate, applicationDidBecomeActive method.

Updates

  • GoogleMobileAds SDK to 8.6.0
  • AdColony SDK to v4.6.1
  • AppLovin SDK to v10.3.0
  • AppNexus SDK to v7.14
  • Criteo SDK to v4.3.3
  • Facebook SDK to 6.5.0
  • Inmobi SDK to v9.1.7
  • Mopub SDK to v5.17.0
  • Smaato SDK to v21.6.14
  • Unity SDK to v3.7.2
  • Yandex SDK to v4.1.2
  • Ogury Ads SDK to v2.3.5
  • Ogury CMP SDK to v3.1.8
  • PubNative SDK to v2.4.8

Fixes

  • Improve DFP clicks handling
  • Stop placements auto-reloading when the app is in the background
  • Avoid caching empty rules (configs)
  • Allow placement to be named: "banner", "fullscreen", "native"
  • Fix an issue regarding DFP Native Ads keyword targeting
  • Update Smart-Display-SDK fixing an issue related to AppStore publishing

2.73.4  - 2021-06-07

Fixes:

  • Fixing an internal issue in banners auto-reloading (static API)

2.74.1-beta1 - 2021-06-01 (Only For M1 Support)

Changes

  • Added compatibility with arm64 simulators for the Apple Silicon Mac platforms
  • Migration to xcframework
  • Remove Ad Networks that don’t support M1 architecture

Updates

  • AATDependencyHelper SDK to 1.0.7
  • AppLovin SDK to 10.3.0
  • Criteo SDK to 4.3.3
  • FBAudienceNetwork SDK to 6.5.0
  • InMobi SDK to 9.1.7
  • Mopub SDK to 5.17.0
  • Smaato SDK to 21.6.14
  • OguryChoiceManager SDK to 3.1.8

2.73.3 - 2021-05-18

Fixes

  • Fix an issue regarding placements reporting with A/B Testing

2.73.2 - 2021-05-06

Fixes

  • Update Smart-Display-SDK to version 7.10.1 that fixes an issue related to AppStore publishing

Updates

  • Smart-Display-SDK SDK to 7.10.1

2.74.0-beta2 - 2021-05-06

Fixes

  • Update Smart-Display-SDK to version 7.10.1 that fixes an issue related to AppStore publishing

Updates

  • Smart-Display-SDK SDK to 7.10.1

2.74.0-beta1 - 2021-04-22

Changes

  • Enable debug logs from rules
  • Implement publisher specific Amazon price points
    • If you are using AmazonHB, you will now need to place a file with your price points (named AATKit_AmazonHB.csv) in your app’s main bundle.
  • start using ATTrackingManager from iOS 14.5 instead of iOS 14.0
  • Integrate GoogleMobileAds version 8.x
    • NOTE: In Google native ads, GADUnifiedNativeAdView has been renamed to GADNativeView
  • Implement the new AATKitReward incentive object with the userEarnedIncentive event
    • - (void) AATKitUserEarnedIncentiveOnPlacement: (nonnull NSObject<AATKitPlacement>*) placement withReward: (nullable AATKitReward *) reward;
    • - (void) AATKitUserEarnedIncentive:(nullable AATKitReward *) reward;
  • Add an extra validation layer before processing the rules (configs)
  • AmazonHB: use CustomMediation instead of JS implementation

New Ad Networks, Network Formats

  • Integrate the new DFP AppOpen format
    • AppOpen format is being treated exactly as the Fullscreen placement but with creating it earlier in the AppDelegate, applicationDidBecomeActive method. Example usage:

Swift

    var appOpenPlacement: AATKitPlacement? {
        get {
            guard let placement = AATKit.getPlacementWithName("AppOpen") else {
                return AATKit.createPlacement(withName: "AppOpen",
                                              andType: .fullscreen)
            }
            return placement
        }
    }

    func applicationDidBecomeActive(_ application: UIApplication) {
        startAutoreloading()
        if hasAppOpenAd, let appOpenPlacement = self.appOpenPlacement {
            self.hasAppOpenAd = false
            AATKit.show(appOpenPlacement)
        }
    }

    func applicationWillResignActive(_ application: UIApplication) {
        stopAutoreloading()
    }

    func startAutoreloading() {
        guard let placement = self.appOpenPlacement else { return }

        AATKit.setPlacementViewController(self.window?.rootViewController, for: placement)
        AATKit.startPlacementAutoReload(placement)
    }

    func stopAutoreloading() {
        guard let placement = self.appOpenPlacement else { return }
        AATKit.stopPlacementAutoReload(placement)
    }

Updates

  • GoogleMobileAds SDK to 8.4.0
  • AmazonHB SDK to 3.4.6

Fixes

  • Improve DFP clicks handling
  • Stop placements auto reloading when the app is in background
  • Avoid caching empty rules (configs)

2.73.1 - 2021-04-21

Fixes

  • Fix an issue regarding AATAdRequest contentTargetingURL
    • Change contentTargetingURL from NSURL to NSString
    • @property (nullable) NSString* contentTargetingURL;

2.73.0 - 2021-04-19

  • First stable release of 2.73

Changes

  • Skip rules if no TCF2.0 consent given
    • AATConfiguration has now a new API to enable/disable rules skipping
      • - (void)enableShouldSkipRules:(BOOL)shouldSkipRules;
    • Rules skipping is disabled by default
    • This API can be used only once during the session
    • To enable it using Objective-C, call [configuration enableShouldSkipRules:YES];
    • To enable it using Swift, call configuration.enableShouldSkipRules(true)
  • AATBannerPlacementProtocol, introduce a new API that should be called when the user navigates away from the controller that displays banners from this placement (specially if the controller is one of UITabBarController viewcontrollers)
    • - (void)viewWillDisappear;
  • AATBannerCache, introduce new API that should be called when the user navigates away from the controller that displays banners from this placement (specially if the controller is one of UITabBarController viewcontrollers)
    • - (void)viewWillDisappear;
  • Ogury is now a default AdNetwork
  • Pass the placement to AATKitResumeAfterAd and AATKitPauseForAd in AATKitDelegate methods
    • The new signature would be:
      • - (void) AATKitPauseForAd:(nullable NSObject<AATKitPlacement>*)placement;
      • - (void) AATKitResumeAfterAd:(nullable NSObject<AATKitPlacement>*)placement;
  • Remove TCF1.0 support
  • Migrate to the new AdMob rewarded video APIs
  • Implement A/B Testing
  • Improve logging
  • AATBannerCache, remove expired cached banners and reload new ones
  • Fix an issue regarding Smaato Banners
  • Add ATTracking authorisation status to rules skipping feature (only in iOS 14.5 and above)
  • Avoid caching broken configs (rules)
  • Memory and performance improvements

New Ad Networks, Network Formats

  • Integrate Bluestack Ad Network (Banners / Fullscreen / NativeAds)
    • Bluestack RewardedVideo format is not supported yet
    • Bluestack has the minimum iOS target of 10.0. So, it's implemented as an optional AdNetwork by adding the following line to your Podfile:
      • pod 'AATKit/BlueStack'
  • Integrate Ogury thumbnails format

Updates

  • AppNexus SDK to version 7.11
  • AdColony SDK to version 4.5.0
  • AppLovin SDK to version 6.15.2
  • InMobi SDK to version 9.1.1
  • Smaato SDK to version 21.6.10
  • Facebook Audience Network to 6.2.1
  • AmazonHB SDK to 3.4.2
  • UnityAds SDK to 3.6.0
  • Yandex SDK to 3.4.0
  • Criteo SDK to 4.2.1
  • Pubnative SDK to 2.4.0
  • Ogury SDK to 1.3.4

Fixes

  • Fix an issue regarding AATBannerPlacement cancel requests
  • Fix an issue regarding viewability
  • Memory and performance improvements

2.72.11 - 2021-04-19

Changes

  • Fix an issue regarding AATKit shake debug feature

2.72.10 - 2021-04-14

Fixes

  • Memory improvements in In-Feed banners

Changes

  • Introduce new API to AATBannerPlacementProtocol to be called when the UIViewController that holds the placement will dismissed (viewWillDisappear) - (void)viewWillDisappear;

Example usage:

Swift

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        placement.viewWillDisappear()
    }

2.72.7 - 2021-04-09

Fixes

  • Avoid caching broken configs (rules)
  • Fix an issue regarding Smaato Banners

Updates

  • Ogury SDK to v1.3.4
  • AppNexus SDK to v7.11

2.73.0-beta4 - 2021-04-09

Changes

  • AATConfiguration has now a new API to enable/disable rules skipping - (void)enableShouldSkipRules:(BOOL)shouldSkipRules;
    • Rules skipping is disabled by default
    • This API can be used only once during the session
    • To enable it using Objective-C, call [configuration enableShouldSkipRules:YES];
    • To enable it using Swift, call configuration.enableShouldSkipRules(true)
  • AATBannerCache, remove expired cached banners and reload new ones
  • Enable publishers to turn off/on (Rules skipping if no TCF2 consent given) feature
  • Fix an issue regarding Smaato Banners
  • Add ATTracking authorisation status to rules skipping feature (only in iOS 14.5 and above)
  • Avoid caching broken configs (rules)
  • Fix an issue regarding viewability
  • Memory and performance improvements

Updates

  • AppLovin SDK to v10.1.0
  • AppNexus SDK to v7.11
  • Ogury SDK to v1.3.4
  • Bluestack SDK to v3.2.4

2.73.0-beta3 - 2021-03-09

Changes

  • Minor bug fixes

2.72.5 - 2021-02-25

Changes

  • Update Smaato SDK to version 21.6.11 that fixes a crash in consent string parser

2.72.4 - 2021-02-18

Changes

  • Fix a crash in rules parsing if the rules are broken

2.73.0-beta2 - 2021-02-18

Changes:

  • Implement A/B Testing
    • Publishers can now do monetization related A/B-Testing with their apps without having to change in their applications
  • Integrate Bluestack Ad Network (Banners / Fullscreen / NativeAds)
    • Bluestack RewardedVideo format is not supported yet
    • Bluestack has the minimum iOS target of 10.0. So, it's implemented as an optional AdNetwork by adding the following line to your Podfile:
      #!objective-c
      
      pod 'AATKit/BlueStack'
      
  • Improve logging
  • Integrate Ogury thumbnails format

Updates:

  • AdColony SDK to version 4.5.0
  • AppLovin SDK to version 6.15.2
  • InMobi SDK to version 9.1.1
  • Smaato SDK to version 21.6.10
  • Facebook Audience Network to 6.2.1
  • AmazonHB SDK to 3.4.2
  • UnityAds SDK to 3.6.0
  • Yandex SDK to 3.4.0
  • Criteo SDK to 4.2.1
  • Pubnative SDK to 2.4.0
  • Ogury SDK to 1.3.3

New Integrated:

  • Bluestack SDK version 3.1.6

2.72.3 - 2021-02-04

Changes

  • Facebook Audience Network: If iOS 14, set the advertisingTrackingFlag depending on the consent status

Updates

  • Facebook Audience Network to version 6.2.1 (Handling iOS 14 tracking changes)

2.73.0-beta1 - 2021-01-20

Changes:

  • Skip rules if no TCF2.0 consent given
  • Ogury is now a default AdNetwork
  • Pass the placement to AATKitResumeAfterAd and AATKitPauseForAd in AATKitDelegate methods
    • The new signature would be:
      • - (void) AATKitPauseForAd:(nullable NSObject<AATKitPlacement>*)placement;
      • - (void) AATKitResumeAfterAd:(nullable NSObject<AATKitPlacement>*)placement;
  • Remove TCF1.0 support
  • Fix an issue regarding AATBannerPlacement cancel requests
  • Migration to the new AdMob rewarded video APIs

Updates:

  • Criteo SDK to version 4.1.0

Note:

  • If you are using Criteo SDK and your project is written in (only) objective-c, then you would need to add a swift file along with the bridging header.

2.72.2 - 2021-01-05

Changes

  • Added AATDependencyHelper dependency as a weak linking helper
  • GoogleMobileAds is not a required dependency now (was required in the previous version)
  • Implemented Pubnative rewarded video format
  • Reduced logs in banners/fullscreen viewable impressions
  • log the used TestModeID in the AATKit init log

Note:

If you removed any Google dependencies (AdMob, DFP, AdX) from your Podfile due the the previous version changes, Please add them back when using this version. For instance:

#!objective-c

pod 'AATKit/Admob'
pod 'AATKit/DFP'
pod 'AATKit/AdX'

Fixes

  • Fixed an issue regarding banners viewable impressions

2.72.1 - 2020-12-16

Changes

  • GoogleMobileAds is now a required dependency for the AATKit.(This is temporarily and will be changed in the next versions)

Note:

If you have any Google dependencies (AdMob, DFP, AdX and GoogleMobileAds) in your Podfile, Please remove them when using this version.

Fixes

  • Fix an issue related to DFP adaptive banners

Updates

  • GoogleMobileAds to version 7.69.0

2.72.0 - 2020-12-08

  • The first stable version of 2.72

Changes

  • Add iOS 14 support
  • Fix an issue regarding Banners Viewable Impressions that was resulting in wrong reports for the same placement
  • Adapt AATKit podspec architectures to be released using Xcode 12
  • Get rid of ASIdentifierManager usage in case of iOS 14
  • Fix an internal threading issue
  • Fix an issue regarding Rubicon request parameters
  • Fix an issue regarding AATVendorConsent
  • Improve shake debug screen to activate/deactivate debug logging
  • AdColony: remove deprecated closures and use their delegate methods instead
  • Added SmartAdServerDirect network
  • Replace the deprecated NSURLRequests used in our API calls with NSURLSession
  • Apply frequency capping in banner cache
  • Banner cache improvements and bug fixes
  • Add rules protocol version 16 support for handling Google MCM (multi channel management)
  • Use Google MCM in DFP requests
  • Implement Ogury fullscreen ads (was removed in an earlier state)
  • Implement Ogury Banner format
  • Separate Ogury ads from Ogury Choice Manager
  • Fix an issue regarding MoPub integration

CMP Improvements:

  • Pass the managed consent state to the managed consent delegate

Return the user consent status with managedConsentCMPFinishedWithState method:

- (void)managedConsentCMPFinishedWithState:(AATManagedConsentState)state;

the AATManagedConsentState can be one of the following enum cases:

typedef NS_ENUM(NSInteger, AATManagedConsentState) {
    AATManagedConsentStateUnknown,
    AATManagedConsentStateWithheld,
    AATManagedConsentStateCustom,
    AATManagedConsentStateObtained
};

AATBannerCache Improvements:

  • After calling updateRequestConfiguration to update the user request, The banner cache would notify its delegate once the first banner is loaded and ready to be consumed using the deleate method: - (void)firstBannerLoaded; (Note: This would happen only if shouldRefresh parameter is set to true when calling updateRequestConfiguration method)
  • Ensure FIFO handling while consuming ads

Updates

  • Smaato to 21.6.6 (Added TCF2.0 and iOS 14 support)
  • UnityAds to 3.4.8 (Adding iOS 14 support)
  • Pubnative SDK to version 2.2.1
  • Ogury SDK to version 1.3.1
  • AmazonHB SDK to version 3.4.1
  • AppNexus SDK to version 7.7.1
  • Facebook SDK to version 6.2.0
  • SmartAdServer SDK to version 7.8.0
  • Unity SDK to version 3.5.1
  • Yandex SDK to version 3.0.0
  • MoPub SDK to version 5.15.0

Removed:

  • Flurry SDK
  • OneByAOL SDK

2.72.0-beta6 - 2020-11-17

Fixes:

  • Fix an internal threading issue

2.72.0-beta5 - 2020-11-13

Fixes:

  • Fix an internal issue in AATKit bundle

2.72.0-beta4 - 2020-11-12

Changes:

  • Bug fixes from the stable version: 2.71.5

Updates:

  • AmazonHB SDK to version 3.4.1
  • AppNexus SDK to version 7.7.1
  • Facebook SDK to version 6.2.0
  • Smaato SDK to version 21.6.6
  • SmartAdServer SDK to version 7.8.0
  • Unity SDK to version 3.5.1
  • Yandex SDK to version 3.0.0

Removed:

  • Flurry SDK
  • OneByAOL SDK

2.71.5 - 2020-11-09

Changes:

  • Fix an issue regarding SmartAd Server targeting

2.72.0-beta3 - 2020-11-05

Changes:

  • Apply frequency capping in banner cache
  • Banner cache improvements and bug fixes
  • Add rules protocol version 16 support for handling Google MCM (multi channel management)
  • Use Google MCM in DFP requests
  • Implement Ogury fullscreen ads (was removed in an earlier state)
  • Implement Ogury Banner format
  • Fix an issue regarding MoPub integration

Updates:

  • Pubnative SDK to version 2.1.0
  • Ogury SDK to version 1.3.1

2.72.0-beta2 - 2020-10-23

Changes:

  • Added SmartAdServerDirect network
  • Replace the deprecated NSURLRequests used in our API calls with NSURLSession
  • Updates and bug fixes from the following stable versions: 2.71.4 / 2.71.3 / 2.71.2

2.71.4 - 2020-10-23

Bug Fixes:

  • Fix an issue regarding GoogleMobileAds (DFP and AdMob) native ads
  • Fix an issue regarding SmartAd Server targeting

Updates:

  • Update Flurry SDK to version 11.1.1 (Supporting iOS 14)
  • Update InMobi SDK to version 9.1.0 (Supporting iOS 14)

2.71.3 - 2020-10-15

Changes:

  • Bump Xcode version to Xcode 12 (Since MoPub 5.14.1 will not run on Xcode 11)

Bug Fixes:

  • Fix an issue regarding fullscreen ads viewability
  • Fix an issue regarding Rubicon request parameters

Updates:

  • Update MoPub SDK to version 5.14.1 (Supporting iOS 14)
  • Update GoogleMobileAds SDK to version 7.66.0

The following Ad Networks still use UIWebView:

  • OneByAol

2.72.0-beta1 - 2020-10-08

Changes

  • Add iOS 14 support
  • Fix an issue regarding Banners Viewable Impressions that was resulting in wrong reports for the same placement
  • Adapt AATKit podspec architectures to be released using Xcode 12
  • Get rid of ASIdentifierManager usage in case of iOS 14
  • Fix an issue regarding Rubicon request parameters
  • Fix an issue regarding AATVendorConsent
  • Improve shake debug screen to activate/deactivate debug logging
  • AdColony: remove deprecated closures and use their delegate methods instead

CMP Improvements:

  • Pass the managed consent state to the managed consent delegate

Return the user consent status with managedConsentCMPFinishedWithState method:

- (void)managedConsentCMPFinishedWithState:(AATManagedConsentState)state;

the AATManagedConsentState can be one of the following enum cases:

typedef NS_ENUM(NSInteger, AATManagedConsentState) {
    AATManagedConsentStateUnknown,
    AATManagedConsentStateWithheld,
    AATManagedConsentStateCustom,
    AATManagedConsentStateObtained
};

AATBannerCache Improvements:

  • After calling updateRequestConfiguration to update the user request, The banner cache would notify its delegate once the first banner is loaded and ready to be consumed using the deleate method: - (void)firstBannerLoaded; (Note: This would happen only if shouldRefresh parameter is set to true when calling updateRequestConfiguration method)
  • Ensure FIFO handling while consuming ads

Updates

  • Smaato to 21.6.2 (Added TCF2.0 and iOS 14 support)
  • UnityAds to 3.4.8 (Adding iOS 14 support)

2.71.2 - 2020-10-05

  • Improve the SubSDKs delivery for our AAT plugins

Updates

  • Smaato to 21.6.2 (Added TCF2.0 and iOS 14 support)
  • UnityAds to 3.4.8 (Adding iOS 14 support)

2.71.1 - 2020-10-01

  • Removing all hard assertions
  • Fix an error due to duplicate symbols

2.71.0 - 2020-09-23

  • First stable version of 2.71.0

New AATManagedConsent

With the introduction of IAB TCF2.0, AATManagedConsent has been rewritten for easily integrating third-party CMPs

CMP implementations

For now, we provide two CMP implementations:

AATCMPGoogle
AATCMPOgury

For publishers not using the ManagedConsent, we have introduced another type of Consent for GDPR-compliance. It can be considered a more advanced version of SimpleConsent, allowing to pass network-specific consent status. To use it, you need to implement the AATVendorConsentDelegate and initialize AATKitConfiguration's consent with a AATVendorConsent instance.

Other new features

  • Report Viewable Impressions for all Ad Formats
  • Update Smaato to their next-generation SDK (Banners - Fullscreen - Rewarded Video)
  • Integrate PubNative as a new network (Banners - Fullscreen)
  • Using Smart AdServer banner realtime auction
  • AATBannerCache internal improvements
  • Fixed Frequency Capping per day issue with fullscreen ads
  • Implement UnityAds banner
  • Fix a bug related to DFP multiple-size banners
  • Add MoPub to CMPGoogle adaptor as non-IAB vendor consent
  • Fix an issue in AppNexus native ads

New Networks

  • PubNative version 1.4.5

2.71.0-beta8 - 2020-09-15

  • Some improvements in the BannerCache
  • Fix an issue in AppNexus native ads 

2.71.0-beta7 - 2020-09-7

  • Add MoPub to CMPGoogle adaptor as non-IAB vendor consent

2.70.10 - 2020-09-01

  • Update GoogleMobileAds SDK to 7.64.0 introducing TCF2.0 compliance

2.71.0-beta6 - 2020-08-28

  • Update GoogleMobileAds SDK to 7.64.0 introducing TCF2.0 compliance
  • Remove Ogury Ads

2.71.0-beta4 - 2020-08-27

  • Downgrade GoogleMobileAds SDK to 7.63.0

2.70.9 - 2020-08-27

  • Downgrade GoogleMobileAds SDK to 7.63.0

2.70.8 - 2020-08-24

  • Fixed an internal logging issue.

2.71.0-beta3 - 2020-08-21

  • Update GoogleMobileAds SDK to version 7.64.0 supporting iOS 14

2.70.7 - 2020-08-20

  • Update GoogleMobileAds SDK to version 7.64.0 supporting iOS 14

2.70.6 - 2020-08-14

  • Update AmazonHB SDK to version 3.3.1 supporting IAB consent
  • Fix an issue with the delivery of MoPub and AppNexus

2.71.0-beta2 - 2020-08-13

  • Implement CMP2.0 containing Ogury and Google CMPs
  • Introduced the new ManagedConsent that’s compatible with CMP2.0
  • Fixed Frequency Capping per day issue with fullscreen ads
  • Using Smart AdServer banner realtime auction
  • Implement UnityAds banner

Updates

  • AmazonHB to 3.3.1

Reworked ManagedConsent

With the introduction of IAB TCF2.0, AddApptr will no longer act as a CMP. Instead, we provide wrappers allowing for easily integrating third-party CMPs. The rewritten ManagedConsent provides the following methods:

  • Init: - (instancetype)initWithDelegate:(nullable NSObject<AATManagedConsentDelegate>*)delegate cmp:(AATCMPProviderObj <AATCMP>*)cmp;, where:
    • cmp - The instance of CMP to be used, currently either AATCMPGoogle or AATCMPOgury.
    • delegate - The delegate that will be notified about CMP events. Must not be null.
  • - (void)showIfNeeded:(UIViewController *)viewController; - Presents the consent screen ONLY if it is required by the used CMP (for example if no user consent has been set yet). It is advised to always call this method when the first app controller is presented.
  • - (void)editConsent:(UIViewController *)viewController; - Presents the consent screen, allowing the user to change consent settings.
  • - (void)reload; - Tells the CMP to reload. Does not need to be used unless some error occurs. You can call this method for example after receiving ManagedConsentDelegate.managedConsentCMPFailedToLoad(ManagedConsent, String) callback.

CMP implementations

For now, we provide two CMP implementations:

AATCMPGoogle
  • Requires appId to be added to Info.plist file, like
    <key>GADApplicationIdentifier</key>
    <string>YOUR-APP-ID</string>
    
Code example (Swift)
#!Swift
let cmp = AATCMPGoogle()
var consent: AATManagedConsent?
func configureAATKit() {
    let configuration = AATConfiguration()
    ...
    cmp = AATCMPGoogle()
    consent = AATManagedConsent(delegate: self, cmp: cmp)
    configuration.consent = consent

    AATKit.initialize(with: configuration)
    ...
    self.consent?.showIfNeeded(<YourCurrentController>)

}
Code example (Objective-C)
#!objective-c
- (void)configureAATKit {
    AATConfiguration* configuration = [[AATConfiguration alloc] init];
    ...
    self.cmp = [[AATCMPGoogle alloc] init];
    self.consent = [[AATManagedConsent alloc] initWithDelegate:self cmp:self.cmp];
    configuration.consent = self.consent;
    ...
    [AATKit initializeWithConfiguration:configuration];
}
AATCMPOgury
  • Requires the Ogury dependency to work by adding the following to your Podfile:
    #!Swift
    pod 'AATKit/OguryCMP'
    
  • Requires Ogury Asset Key as an initializer parameter
Code example (Swift)
#!Swift
func configureAATKit() {
    let configuration = AATConfiguration()
    ...
    cmp = AATCMPOgury(assetKey: "YourAssetKey")
    guard let cmp = cmp else {
        // Shouldn't be nil
    }
    consent = AATManagedConsent(delegate: self, cmp: cmp)
    configuration.consent = consent
    ...

    self.consent?.showIfNeeded(<YourCurrentController>)

}
Code example (Objective-C)
#!objective-c
- (void)configureAATKit {
    AATConfiguration* configuration = [[AATConfiguration alloc] init];
    ...

    self.cmp = [[AATCMPOgury alloc] initWithAssetKey:"YourAssetKey"];
    self.consent = [[AATManagedConsent alloc] initWithDelegate:self cmp:self.cmp];
    configuration.consent = self.consent;
    ...
    [AATKit initializeWithConfiguration:configuration];
}

For publishers not using the ManagedConsent, we have introduced another type of Consent for GDPR-compliance. It can be considered a more advanced version of SimpleConsent, allowing to pass network-specific consent status. To use it, you need to implement the AATVendorConsentDelegate and initialize AATKitConfiguration's consent with a AATVendorConsent instance.

Code example (Swift)

#!Swift
func configureAATKit() {
    let configuration = AATConfiguration()
    ...
    let consent = AATVendorConsent(vendorConsentDelegate: self)
    configuration.consent = consent
    ...
    AATKit.initialize(with: configuration)
}
// MARK: AATVendorConsentDelegate
func getConsentFor(_ network: AATKitAdNetwork) -> AATConsent {
    //decide for each ad network
    return .obtained
}

func getConsentForAddApptr() -> AATConsent {
    return .obtained
}

Code example (Objective-C)

#!objective-c
- (void)configureAATKit {
    AATConfiguration* configuration = [[AATConfiguration alloc] init];
    ...
    AATVendorConsent *consent = [[AATVendorConsent alloc] initWithVendorConsentDelegate:self];
    configuration.consent = configuration;
    ...
    [AATKit initializeWithConfiguration:configuration];
}

#pragma mark - AATVendorConsentDelegate
- (AATConsent)getConsentForAddApptr {
    //decide for each ad network
    return AATConsentObtained;
}

- (AATConsent)getConsentForNetwork:(AATKitAdNetwork)network {
    return AATConsentObtained;
}

2.70.5 - 2020-08-12

Changes:

  • Fix an issue with the delivery of MoPub and AppNexus to our plugins

Updates:

  • MoPub SDK to version 5.13.0
  • Criteo SDK to version 3.9.0

2.70.4 - 2020-08-06

  • Update GoogleMobileAds SDK to 7.63.0 that supports TCF2.0
  • Adapt Google Ad Networks to work with TCF2.0 consent string if provided

2.70.3 - 2020-07-24

  • Remove InMobi MOAT subSDK

Updates

  • InMobi to 9.0.7

NOTE:

The following Ad Networks still use UIWebView:

  • OneByAol
  • MoPub
  • Smaato

2.71.0-beta1 - 2020-07-22

Changes:

  • Update Smaato to their next generation SDK (Banners - Fullscreen - Rewarded Video)
  • Integrate Ogury as a new optional network (Fullscreen - Rewarded Video)
  • Integrate PubNative as a new network (Banners - Fullscreen)
  • Report Viewable Impressions for all Ad Formats
  • Fix a bug related to DFP multiple-size banners

Updates:

  • PubNative version 1.4.5 (Newly added)

2.70.2 - 2020-07-17

  • Fixed MoPub and AppNexus versions in VERSION file

2.70.1 - 2020-06-25

Removed ad network

  • Vungle

Updated AdNetwork SDKs

  • SmartAdServer to 7.6.2

2.70.0 - 2020-06-24

  • First stable version of 2.70.0

We have redesigned AATKit's consent API in order to make it more simple to use and understand. There are only two options left how to use it:

  • You want to make use of AddApptr's CMP:
    • initialize AATKitConfiguration's consent with an AATKitManagedConsent and implement AATKitManagedConsent's delegate.
  • You want to use a third party CMP or no CMP at all:
    • initialize AATKitConfiguration's consent with an "AATKitSimpleConsent" and pass unknown, obtained, or withheld depending on your GDPR considerations.
    • if you use a third party CMP, AATKit will respect the user's choice as an IAB vendor SDK (instead of relying on the passed simple consent). Also, IAB compliant partner ad networks will respect the settings of the 3rd party CMP.
  • Removed simpleConsent from AATRuntimeConfiguration.
  • Removed AATConsentAutomatic and AATConsentString classes.
  • Renamed the detailedConsent in AATRuntimeConfiguration to consent.
  • Introduced new AATSimpleConsent class, allowing publishers not using ManagedConsent to pass the consent status for non-IAB partners. If used, it will also automatically read the IAB consent string stored in UserDefaults (if available).

New feature - BannerCache

a special tool for In-Feed Banners. It will automatically preload banner ads and try to have a defined amount of banners available for an immediate handout to the App whenever they are needed.

  • Constructor: - (instancetype)initWithPlacementName:(NSString *)placementName delegate:(nullable id<AATBannerCacheDelegate>)delegate cacheSize:(int)cacheSize shouldCacheAdditionalAdAtStart:(BOOL)shouldCacheAdditionalAdAtStart adRequest:(AATAdRequest *)adRequest; where:

  • placementName - The name of the banner placement that will be created. The placement will be created by the cache and should not be created manually.

  • delegate - Optional cache delegate that will be called when the first banner ad gets loaded. Can be null.
  • size - Defines how many preloaded banners should be available in the cache. Max value: 5
  • adRequest - AATAdRequest with configurations.
  • - (nullable UIView *)consume - returns an instance of UIView to be used within the app. Can return nil if there are no banners available in the cache. Also automatically counts an ad space. BannerCache will no longer hold any references to returned banners, and they need to be destroyed manually by the app.
  • - (void)destroy - Destroys the BannerCache, clearing all preloaded banner ads and canceling pending reload requests. For proper memory management, it needs to be called when the BannerCache is no longer needed. Destroyed BannerCache can no longer be used.
  • - (void)updateRequestConfiguration:(AATAdRequest *)request shouldRefresh:(BOOL)shouldRefresh - - updates the configuration that will be used when requesting new banners.
  • configuration - new configuration, can not be null
  • shouldRefresh - true if the whole cache should be re-loaded with new banner request configuration, false if new configuration should only be used for new requests.
  • - (void)setCacheDelegate:(nullable id<AATBannerCacheDelegate>)delegate - sets the optional CacheDelegate.

New methods for detecting maximum banner size on a given device

Added methods for detecting maximum banner width on a given device:

+ (AATKitAdType) maximumBannerSizePortrait

+ (AATKitAdType) maximumBannerSizeLandscape They can be used for placement creation, like: let bannerPlacementID = AATKit.createPlacement(withName: "Banner", andType: AATKit.maximumBannerSizePortrait())

Added methods returning a set of fitting banner sizes on a given device:

+ (NSSet<NSNumber*>*_Nonnull)fittingBannerSizesPortrait

+ (NSSet<NSNumber*>*_Nonnull)fittingBannerSizesLandscape They can be used for limiting allowed banner sizes for banner requests.

Other new features

  • Added support for Banners on Vungle
  • Added TCF2.0 compatibility for AATKit as a vendor
  • Added support for Adaptive Banners.

Other chages

  • Changed placement creation methods not to crash if placement with the given name already exists. - If the placement of a given name and type already exists - it will be returned. - If the placement of a given name exists but is of a different type - nil will be returned.
  • Improved impression counting.
  • Updated logic for deciding if the given device will be treated as a tablet.
  • Fixed an issue regarding AdColonyconsent handling.
  • Fixed an issue regarding fullscreen presentation for Criteo.
  • Fixed an issue in regards to ad personalization.
  • Removed usages of deprecated UIWebView inside AATKit.
  • Added improvements to logging by adding the placement name.
  • Remove in-active Ad Networks.

Updated AdNetwork SDKs

  • AdColony to Version 4.1.4
  • AppLovinSDK to Version 6.12.1
  • AppNexus to version 7.2.0
  • CriteoSDK to version 3.4.2
  • FBAudienceNetwork to version 5.8.0
  • GoogleMobileAds SDK to version 7.58.0
  • InMobi to Version 9.0.6
  • MoPub to version 5.12.0
  • Smaato to Version 10.2.6
  • SmartAd Server to Version 7.4.2
  • UnityAds to Version 3.4.2
  • Vungle to Version 6.5.3
  • Yandex to Version to 2.15.1

2.69.8 - 2020-06-17

  • Fix an issue related to custom DFP Banner Sizes.

2.69.7 - 2020-05-19

Features

  • Introduce new method in AATManagedConsent class: - (void)setShouldOptOutOnDetails:(BOOL)shouldOptOut, setting if all switches for purposes and more partners on CMP screen should be set to "off" by default. If not set it is treated as false.

Fixes

  • Fix an issue related to the created consent string by the CMP and vendor list.

Updates

  • Updated Yandex to version 2.15.2
  • Updated SmartAd Server to version 7.4.0

NOTE:

The following Ad Networks still rely on the usage of UIWebView:

  • OneByAol
  • MoPub
  • InMobi
  • Smaato
  • Vungle
  • SmartAd

If your app submission gets rejected by the AppStore due to UIWebView usage in any of the above dependencies, please remove them by explicitly listing the other Ad Networks provided by AATKit. pod AATKit/<INSERT AD NETWORK>

2.69.6 - 2020-05-12

  • Fixed a regression that caused a Native Ads related crash for AppNexus.

2.70.0-beta5 - 2020-05-06

  • Added shouldCacheAdditionalAdAtStart parameter to BannerCache constructor, defining if the cache should load one additional ad at the beginning.

2.69.5 - 2020-05-06

  • Removed usages of deprecated UIWebView inside AATKit.
  • Fix consent handling for Facebook.
  • Remove House Network.

2.70.0-beta4 - 2020-04-27

New Features

  • Added support for Adaptive Banners.
  • Banner Cache - a special tool for In-Feed Banners. It will automatically preload banner ads and try to have a defined amount of banners available for an immediate handout to the App whenever they are needed.

  • Constructor: - (instancetype)initWithPlacementName:(NSString *)placementName delegate:(nullable id<AATBannerCacheDelegate>)delegate cacheSize:(int)cacheSize adRequest:(AATAdRequest *)adRequest; where:

    • placementName - The name of the banner placement that will be created. The placement will be created by the cache and should not be created manually.
    • delegate - Optional cache delegate that will be called when the first banner ad gets loaded. Can be null.
    • size - Defines how many preloaded banners should be available in the cache. Max value: 5
    • adRequest - AATAdRequest with configurations.
  • - (nullable UIView *)consume - returns an instance of UIView to be used within the app. Can return nil if there are no banners available in the cache. Also automatically counts an ad space. BannerCache will no longer hold any references to returned banners, and they need to be destroyed manually by the app.

  • - (void)destroy - Destroys the BannerCache, clearing all preloaded banner ads and canceling pending reload requests. For proper memory management, it needs to be called when the BannerCache is no longer needed. Destroyed BannerCache can no longer be used.
  • - (void)updateRequestConfiguration:(AATAdRequest *)request shouldRefresh:(BOOL)shouldRefresh - - updates the configuration that will be used when requesting new banners.
    • configuration - new configuration, can not be null
    • shouldRefresh - true if the whole cache should be re-loaded with new banner request configuration, false if new configuration should only be used for new requests.
  • - (void)setCacheDelegate:(nullable id<AATBannerCacheDelegate>)delegate - sets the optional CacheDelegate.

Improvements

  • Changed placement creation methods not to crash if placement with the given name already exists. - If the placement of a given name and type already exists - it will be returned. - If the placement of a given name exists but is of a different type - nil will be returned.
  • Improved impression counting.
  • Updated logic for deciding if the given device will be treated as a tablet.

API changes

Added methods for detecting maximum banner width on given device:

  • + (AATKitAdType) maximumBannerSizePortrait
  • + (AATKitAdType) maximumBannerSizeLandscape

They can be used for placement creation, like: let bannerPlacementID = AATKit.createPlacement(withName: "Banner", andType: AATKit.maximumBannerSizePortrait())

Added methods returning a set of fitting banner sizes on given device:

  • + (NSSet<NSNumber*>*_Nonnull)fittingBannerSizesPortrait
  • + (NSSet<NSNumber*>*_Nonnull)fittingBannerSizesLandscape

They can be used for limiting allowed banner sizes for banner request,.

Ad Network updates

  • Updated GoogleMobileAds SDK to version 7.58.0
  • Updated FBAudienceNetwork to version 5.8.0
  • Updated AppNexus to version 7.2.0
  • Updated AppLovinSDK to Version 6.12.1
  • Updated AdColony to Version 4.1.4
  • Updated Smaato to Version 10.2.6
  • Updated SmartAd Server to Version 7.4.2
  • Updated UnityAds to Version 3.4.2
  • Updated Vungle to Version 6.5.3
  • Updated Yandex to Version to 2.15.1
  • Updated InMobi to Version 9.0.6
  • Updated MoPub to version 5.12.0

2.69.4 - 2020-04-02

  • Updated GoogleMobileAds SDK to version 7.57.0
  • Updated MoPub to version 5.10.0
  • Updated CriteoSDK to version 3.4.2
  • Removed Inneractive support

2.69.3 - 2020-03-16

  • Updated Flurry SDK to version 10.2.0
  • Updated FBAudienceNetwork SDK to 5.7.1
  • Fixed issues regarding consent handling in some ad networks

2.70.0-beta2 - 2020-03-16

  • Updated Vungle to version 6.5.1
  • Updated SmartAd Server to version 7.4.0
  • Added support for Banners for Vungle
  • Added TCF 2.0 compatibility for AATKit as a vendor
  • Updated the CMP to respect TCF 2.0 Consent string
  • Fixed an issue regarding consent handling for Criteo
  • Fixed an issue regarding consent handling for Inneractive
  • Fixed an issue regarding consent handling for Criteo Yandex

2.70.0-beta1 - 2020-02-27

Improvements

  • Improved impression counting for in-feed banner formats: Banner impressions are being counted only when the banner displayed. This is done by utilizing the drawRect: method.

We have redesigned AATKit's consent API in order to make it more simple to use and understand. There are only two options left how to use it:

  • You want to make use of AddApptr's CMP:
    • initialize AATKitConfiguration's consent with an "AATKitManagedConsent" and implement AATKitManagedConsent's delegate.
  • You want to use a third party CMP or no CMP at all:
    • initialize AATKitConfiguration's consent with an "AATKitSimpleConsent" and pass "unknown", "obtained", or "withheld" depending on your GDPR considerations.
    • if you use a third party CMP, AATKit will respect the user's choice as an IAB vendor SDK (instead of relying on the passed simple consent). Also, IAB compliant partner ad networks will respect the settings of the 3rd party CMP.
  • Removed simpleConsent from AATRuntimeConfiguration.
  • Removed AATConsentAutomatic and AATConsentString classes.
  • Renamed the detailedConsent in AATRuntimeConfiguration to consent.
  • Introduced new AATSimpleConsent class, allowing publishers not using ManagedConsent to pass the consent status for non-IAB partners. If used, it will also automatically read the IAB consent string stored in UserDefaults (if available).

Other Changes

  • Fixed an issue regarding AdColonyconsent handling.
  • Fixed an issue regarding fullscreen presentation for Criteo.
  • Fixed an issue in regards to ad personalization.
  • Removed usages of depracated UIWebView inside AATKit.
  • Added improvements to logging by adding the placement name.
  • Remove in-active Ad Networks.

2.69.2 - 2020-02-19

  • Fix an issue regarding consent handling.

2.69.1 - 2020-02-04

  • Fix an issue regarding consent for More Partners in the new CMP.

2.69.0 - 2020-02-03

  • Introduced new CMP Screen and functionality.
  • Updated Extended Consent UI. When using the Managed Consent (AddApptr's CMP) the UI now includes a new section called "More Partners" below the IAB consent purposes.
  • Changed Native Ads API:
    • New method for creating native placement: [AATKit createNativeAdPlacement: supportsMainImage:]
    • New method for setting a tracking view for native ad: [AATKit setTrackingView: forNativeAd: mainImageView: iconView:]
    • Old methods for creating native placement and setting a tracking view for native ad are now deprecated.
  • Added support for California Consumer Privacy Act (CCPA) for UnityAds
  • Added support for CriteoSDK Version 3.0.1
  • Integrated Rewarded Video format for DFP (AdManager).
  • Updated Yandex to Version 2.13.3
  • Updated OneByAOL to Version 6.8.2
  • Updated SmartAd Server to Version 7.3.0
  • Updated Vungle to Version 6.4.6
  • Updated Flurry to Version 10.1.0
  • Updated InMobi to Version 9.0.3
  • Updated AppNexus to Version 6.2.0
  • Updated UnityAds to Version 3.4.0
  • Updated AppLovinSDK to Version 6.10.2
  • Updated SmaatoSDK to Version 10.2.5
  • Updated AdColony to Version 4.1.2

2.69.0-beta11 - 2020-01-23

  • Fix issue where CriteoSDK was not added as a default Sub-SDK.

2.69.0-beta10 - 2020-01-08

  • Updated Amazon Header Bidding to Version 3.2.1
  • Updated Yandex to Version 2.13.3
  • Updated OneByAOL to Version 6.8.2
  • Updated SmartAd Server to Version 7.3.0
  • Updated Vungle to Version 6.4.6
  • Updated Flurry to Version 10.1.0
  • Updated InMobi to Version 9.0.3
  • Updated AppNexus to Version 6.2.0
  • Added support for CriteoSDK Version 3.0.1
  • Added support for California Consumer Privacy Act (CCPA) for UnityAds
  • Fix issue regarding impression for AmazonHB

2.69.0-beta9 - 2019-12-12

  • Updated AmazonHB to Version 3.2.1
  • Updated UnityAds to Version 3.4.0
  • Updated AppLovinSDK to Version 6.10.2
  • Updated SmaatoSDK to Version 10.2.5
  • Updated AdColony to Version 4.1.2
  • Added support for California Consumer Privacy Act (CCPA) for Google ads

2.69.0-beta8 - 2019-12-09

  • Improvements to the localization handling of the CMP.

API changes

New methods

  • New method for creating native placement: [AATKit createNativeAdPlacement: supportsMainImage:]
  • New method for setting a tracking view for native ad: [AATKit setTrackingView: forNativeAd: mainImageView: iconView:]

Deprecated methods

  • Old methods for creating native placement and setting a tracking view for native ad are now deprecated.

2.69.0-beta7 - 2019-12-03

  • Changed native ad API in order to use Facebook. Please update your native ad integration
  • Integrated new FacebookAudienceNetwork native ads
  • Updated FacebookAudienceNetwork to 5.6.0
  • Improvements to logging
  • Fixed a bug with the Rewarded Video format
  • Improvements to the localization handling of the CMP

2.68.16 - 2019-11-27

  • Fix Native Ads related crashes for GoogleMobileAds SDK and AppNexus.
  • Fix crash related to Shake debug function.

2.69.0-beta6 - 2019-11-25

  • Added support for Amazon Header Bidding
  • Various UI fixes for the CMP Screen
  • Improvements to the localization handling of the CMP
  • Improvements to the CMP.
  • Integrated Rewarded Video format for DFP (AdManager).

2.68.15 - 2019-11-21

  • Fix an AddApptr CMP related issue.

2.68.14 - 2019-11-11

  • Fix a critical issue where Apps could be crashed as a result of internal assertions not being handled correctly.

2.69.0-beta5 - 2019-10-28

  • Fix a bug related to missing strings in the CMP Screens.
  • Dark mode support.
  • Improvements to the CMP.

2.68.13 - 2019-10-23

  • Fix a critical issue where Apps could not be built using Xcode 10.3.

2.68.12 - 2019-10-07

  • Update GoogleMobileAds SDK to 7.50.0 - includes iOS 13 compatibility improvements as well as Native Ads API improvements.

2.68.11 - 2019-09-19

  • Update Smaato to 10.2.3 - includes iOS 13 compatibility improvements (fullscreen ads and location permission fixes).

2.68.10 - 2019-09-17

  • Update SmartAdServer to 7.2.0 - includes iOS 13 compatibility improvements (fullscreen and rewarded video will not work with older SmartAdServer SDKs on iOS 13 devices).

2.69.0-beta4 - 2019-09-10

  • Integrate new Ad network: Yandex
  • Update Applovin to version 6.8.1, added zoneID support
  • Applovin is optional now (requires iOS 9)
  • Improvements to the CMP.

2.69.0-beta3 - 2019-08-12

  • Update the SmartAdServer SDK to version 7.1.1

2.68.9 - 2019-08-06

  • Update the GoogleMobileAds SDK to version 7.40.0

2.69.0-beta2 - 2019-08-05

  • Update Extended Consent UI. When using the Managed Consent (AddApptr's CMP) the UI now includes a new section called "More Partners" below the IAB consent purposes. This new section aims at AddApptr's partner networks that do use their own consent mechanisms, instead of the IAB consent.

2.68.8 - 2019-06-27

  • Fix potential memory leak in the In-Feed banner.
  • Updates in AATKit header documentation
  • Fix issue where Vungle was mistakenly listed as linked SDK.
  • Fix a stability issue regarding the AddApptr CMP in conjunction with third-party SDK's.
  • Fix issue where
    • Smaato: Use only https calls for requesting ads.

2.69.0-beta1 - 2019-06-21

  • Fix potential memory leak in the In-Feed banner.
  • Updates in AATKit header documentation
  • Fix issue where Vungle was mistakenly listed as linked SDK.
  • Fix a stability issue regarding the AddApptr CMP in conjunction with third-party SDK's.
  • Fix issue where
    • Smaato: Use only https calls for requesting ads.

2.68.7 – 2019-06-06

  • Fix a stability issue regarding the AddApptr CMP in conjunction with third-party SDK's.

2.68.6 – 2019-06-05

  • Fix rule caching related issue.

2.68.5 – 2019-05-29

  • Fix module map related build issue.

2.68.4 – 2019-05-09

  • Resolve an issue with regards to In-Feed Banner loading.

2.68.3 – 2019-04-08

  • Resolve a compatibility issue with iOS 8.
  • Resolve an internal problem with AATBannerPlacement.

2.68.2 – 2019-02-26

  • Resolve a compatibility issue with iPhone 4S, iPad 2 and the original iPad Mini.

2.69.0-beta0 - 2019-01-14

  • Internal code improvements.

2.68.1 - 2019-01-14

  • Resolve an issue with regards to loading native ads.

2.68.0 - 2018-12-11 (New Stable Release)

  • Introduce AddApptr CMP (Consent Management Platform)

2.67.9 - 2018-11-28 (Updated Stable Release)

  • Minor bug fixes

2.68.0-beta5 - 2018-11-12 (New Beta Release)

  • Minor bug fixes

2.68.0-beta4 - 2018-11-09 (New Beta Release)

  • Improve AddApptr CMP

Ad Networks

  • AdColony: Update to 3.3.6
  • AppLovin: Update to 5.1.2
  • Flurry: Update to 9.2.1
  • InMobi: Update to 7.2.1
  • MoPub: Update to 5.4.0
  • Smaato: Update to 10.1.0
  • Unity: Update to 3.0.0
  • Vungle: Update to 6.3.1

2.67.8 - 2018-11-06 (Updated Stable Release)

  • Improve the accuracy of counting impressions for banner placements

2.67.7 - 2018-10-17 (Updated Stable Release)

  • Fix a problem when initializing the AATKit without a detailed consent set on the AATRuntimeConfiguration/AATConfiguration
  • Provide possibility to use arrays as value for placement specific keyword targeting

2.67.6 - 2018-10-17 (Updated Stable Release)

  • Improve Consent Handling

2.68.0-beta3 2018-10-16 (New Beta Release)

  • Fix a logic bug regarding the CMP

2.68.0-beta2 2018-10-16 (New Beta Release)

  • Fix a problem regarding the CMP presentation

2.68.0-beta1 2018-10-15 (New Beta Release)

  • Improve the AATKit CMP.
  • Implement In-App-Auction
  • Fix a problem where the GoogleMobileAds SDK was mistakenly marked unavailable in the logs
  • Fix a problem regarding counting the impressions and clicks for Google native ads
  • Fix a problem where custom sizes for DFP multi size banners couldn't be requested properly
  • Fix a problem regarding requesting medium rectangles from Facebook
  • Fix a bug where AppLovin interstitials caused problems with not returning right status if the app was trying to show an ad
  • Fix a regression with banner ads for old applications.
  • Fix a problem regarding AATConsentAutomatic
  • Fix an issue where Rubicon driver crashed using the IAB consent string
  • Fix a problem where UI wouldn't be done on the main thread when handing over a background queue for executing an in feed banner request
  • Use current targeting information for every new ad request sent to the One by AOL ad server
  • Remove methods +enableGeoTracking and +disableGeoTracking
  • Fixed a bug with DFP banners on iPad.
  • Minor stability improvements.
  • Fixed a bug with initializing the AATKit if One by AOL wasn't added
  • Fix a problem where functions from the GoogleMobileAds SDK weren't found, that are needed for DFP multi size banners
  • Fix a bug where ad requests weren't sent to One by AOL if the simpleConsent was withheld

Ad Networks

  • GoogleMobileAds: Update to 7.34.0
  • LoopMe: Remove ad network
  • MoPub: Update to 5.2.0 (this update includes an important bug fix)
  • One by AOL: Add support for banner sizes 320x160 and 320x480
  • Revmob: Remove ad network

2.67.5 - 2018-10-10 (Updated Stable Release)

  • Fix a problem where the GoogleMobileAds SDK was mistakenly marked unavailable in the logs
  • Fix a problem regarding counting the impressions and clicks for Google native ads
  • Fix a problem where custom sizes for DFP multi size banners couldn't be requested properly
  • Fix a problem regarding requesting medium rectangles from Facebook
  • Fix a bug where AppLovin interstitials caused problems with not returning right status if the app was trying to show an ad

2.68.0-beta0 (New Beta Release)

  • Introduce the AATKit CMP.

2.67.4 - 2018-10-01 (Updated Stable Release)

  • Fix a regression with banner ads for old applications.

Ad Networks

  • GoogleMobileAds: Update to 7.34.0

2.67.3 - 2018-09-26 (Updated Stable Release)

  • Fix a problem where functions from the GoogleMobileAds SDK weren't found, that are needed for DFP multi size banners
  • Fix a bug where ad requests weren't sent to One by AOL if the simpleConsent was withheld

2.67.2 - 2018-09-20 (Updated Stable Release)

  • Fixed a bug with initializing the AATKit if One by AOL wasn't added

2.67.1 - 2018-09-14 Updated Stable Release)

  • Fixed a bug with DFP banners on iPad.
  • Minor stability improvements.

2.67.0 - 2018-08-28 (New Stable Release)

New feature

  • MAYO: supporting AddApptr's Machine learning Automated Yield Optimization.

New ad network

  • Rubicon (only banners supported)

AddApptr API changes

AATKit

  • Geo tracking can now be enabled/disabled via the
    AATConfiguration as described in the documentation.

Infeed Banner

  • App can set a „contentTargetingURL“ with each ad request.

Native ad advancements

  • Support implementation of Google Unified Native Ads. The App Install Native Ads and Content Native Ads are deprecated. Please have a look at our documentation.

Supported Ad Networks

  • AdColony: 3.3.4
  • Amazon: 2.2.15.1
  • AppLovin: 5.0.2
  • AppNexus: 4.9.0
  • Criteo: API Integration
  • Facebook: < 4.99 for native ads.
  • Flurry: 9.0.0
  • GoogleMobileAds: 7.31.0
  • InMobi: 7.1.1
  • Inneractive: 6.4.4.6
  • LoopMe: 6.0.3
  • MoPub: 5.2.0
  • OneByAol: 6.8.0
  • Permodo: 2.13.1.7
  • Rubicon: API Integration
  • Smaato: 9.0.2
  • SmartAdServer: 6.10
  • UnityAds: 2.2.1
  • Vungle: 6.2.0

2.67.0-beta8 - 2018-08-23 (Updated Beta Release)

  • Fix a problem where UI wouldn't be done on the main thread when handing over a background queue for executing an in feed banner request
  • Use current targeting information for every new ad request sent to the One by AOL ad server
  • Remove methods +enableGeoTracking and +disableGeoTracking

Ad Networks

  • Revmob: Remove ad network

2.67.0-beta7 - 2018-08-09 (Updated Beta Release)

  • Fix a problem regarding AATConsentAutomatic
  • Fix an issue where Rubicon driver crashed using the IAB consent string

Ad Networks

  • One by AOL: Add support for banner sizes 320x160 and 320x480

Older Versions

Updated