Skip to content

Releases: cleveradssolutions/CAS-iOS

Version 3.3.2

17 Oct 11:45
Compare
Choose a tag to compare
  • Improving the stability of mediation initialization.
  • Added debug logs for AdsSettings changes.
  • Defined the Subsystem = com.cleveradssolutions and Category = CAS.AI for logs from CAS.

Bug Fixes

  • Fixed analytics about impressions from the CASExchange network.
  • The CAS SDK will no longer pass the user's CCPA opt to mediation if they are not located in protected regions.
  • Moved fire the ConsentFlow dismiss listener before fire the CAS initialization complete listener.

Update Adapters

  • pod 'CleverAdsSolutions-SDK/UnityAds', '3.3.2'
    • Certified with UnityAds - 4.9.1
  • pod 'CleverAdsSolutions-SDK/Chartboost', '3.3.2'
    • Certified with Chartboost - 9.5.0
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.3.2'
    • Certified with Pangle - 5.5.0.7

Adapters pod always have a version that matches the CAS Base version for compatibility.

Version 3.3.1

06 Oct 08:11
Compare
Choose a tag to compare

Changes

  • The Pangle has been removed from the Families Ads Solution.

    The Pangle source does not provide ads under COPPA restrictions. The Pangle is still included in the Optimal Ads Solution.

  • The CASBannerView does not support alpha changes.

Bug Fixes

  • Fixed an issue where the GDPR Consent Status was being passed to mediation as a Decline.
  • The CASConsentFlow.present() function will no longer prompt the user if the app is tagged for children.
  • Fixed a rare bug when the CAS Consent Flow dialog was displayed in full screen.
  • Fixed a issue where CASConsentFlow.withCompletionHandler receives CASConsentFlowStatus.obtained, but should receive .notRequired.
  • Removed use of CoreTelephony from the CAS Base framework which causing a warning message.
  • Disabled CLANG_ENABLE_MODULE_DEBUGGING flag for the CAS Base framework which causing a warning message.

Update Adapters

  • pod 'CleverAdsSolutions-SDK/GoogleAds', '3.3.1'
    • Certified with GoogleAds - 10.12.0
  • pod 'CleverAdsSolutions-SDK/SuperAwesome', '3.3.1'
    • Certified with SuperAwesome - 9.2.0
  • pod 'CleverAdsSolutions-SDK/UnityAds', '3.3.1'
    • Certified with UnityAds - 4.9.0
    • Added a unique ObjectId for each load/display operation to increase performance.
  • pod 'CleverAdsSolutions-SDK/Mintegral', '3.3.1'
    • Certified with Mintegral - 7.4.7
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.3.1'
    • Certified with Pangle - 5.5.0.6

New ads networks support in closed beta

  • pod 'CleverAdsSolutions-SDK/Bigo', '3.3.0'
    • Certified with Bigo - 4.0.4

Adapters pod always have a version that matches the CAS Base version for compatibility.

Version 3.3.0.1

27 Sep 13:59
Compare
Choose a tag to compare
  • Fixed a circular dependency in Cocoapods.

Version 3.3.0

26 Sep 11:10
Compare
Choose a tag to compare
  • Added the option to switch to using Google User Messaging Platform instead of CAS Consent Flow.
    Please contact support to migrate to a certified CMP.

    You also have the opportunity to independently use any certified CMP before CAS initialization and CAS SDK will transmit information about the user’s consent for mediation.

  • Updated CAS initialization error behavior.
    • Added constants for possible error strings in CASInitializationError.
    • The CASInitCompletionHandler may be called multiple times with an error CASInitializationError.noConnection until the Internet connection is established.
  • Improved performance for ad requests with bidding.

Changes

  • The Meta Audience Network has been removed from the optimal advertising solution.

    If you want to continue using the Audience Network for monetization, then add the adapter dependency and comply with its privacy requirements.

  • Added analytics collection for Open App Ads impressions to the Firebase ad_impression event.
  • The Open App Ads no longer require keep a strong link to instance while the ad is loading.
  • The Network names have been replaced with more conventional ones in the Firebase ad_impression event.
  • The CASImpression.identifier property now returns the Placement ID from the network on which the ad was shown.

Update Adapters

  • pod 'CleverAdsSolutions-SDK/GoogleAds', '3.3.0'
    • Certified with GoogleAds - 10.11.0
  • pod 'CleverAdsSolutions-SDK/IronSource', '3.3.0'
    • IronSource has been downgraded from 7.5.0.0 to 7.3.1.0 to avoid black screen freezing in full screen ads.
  • pod 'CleverAdsSolutions-SDK/AppLovin', '3.3.0'
    • Certified with AppLovin - 11.11.3
  • pod 'CleverAdsSolutions-SDK/LiftoffMonetize', '3.3.0'
    • Vungle pod renamed to LiftoffMonetize.
    • Certified with LiftoffMonetize - 7.1.0
  • pod 'CleverAdsSolutions-SDK/InMobi', '3.3.0'
    • Certified with InMobi - 10.5.8
  • pod 'CleverAdsSolutions-SDK/Mintegral', '3.3.0'
    • Certified with Mintegral - 7.4.4
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.3.0'
    • Certified with Pangle - 5.4.1.1
  • pod 'CleverAdsSolutions-SDK/DTExchange', '3.3.0'
    • DigitalTurbine pod renamed to DTExchange.

New ads networks support in closed beta

  • pod 'CleverAdsSolutions-SDK/HyprMX', '3.3.0'
    • Certified with HyprMX (USA only) - 6.2.0
  • pod 'CleverAdsSolutions-SDK/Smaato', '3.3.0'
    • Certified with Smaato (Banner only) - 22.0.2

Adapters pod always have a version that matches the CAS Base version for compatibility.

Version 3.2.5

05 Sep 12:22
Compare
Choose a tag to compare

Changes

  • Updated ATT dialog text to be consistent with Apple policy (3.2.2 Unacceptable). Please check updated User Tracking usage description.
  • Removed Tapjoy network support.

    Video product Tapjoy is now integrated as a demand partner on the ironSource, iSX exchange.

  • Added debug price ($1) and creative ID for test ads impression.

Fixes

  • Fixed the CPM value from onAdRevenuePaid() callback for Open App Ad, multiplied by 1000 to match the CPM field.
  • Fixed a rare issue with CASConsentFlow detection several times.
  • Fixed clicks on Test Banner Ads.
  • Now for manual ad loading mode, the bannerAdView(_:didFailWith:) delegate is not fired during the Banner visibility change and the ad is not loaded.
  • Some invalid Banner Ad Impressions no longer count.

Update Adapters

  • pod 'CleverAdsSolutions-SDK/GoogleAds', '3.2.5'
    • Certified with GoogleAds - 10.10.0
  • pod 'CleverAdsSolutions-SDK/IronSource', '3.2.5'
    • Certified with IronSource - 7.5.0.0
  • pod 'CleverAdsSolutions-SDK/Mintegral', '3.2.5'
    • Certified with Mintegral - 7.4.3
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.2.5'
    • Certified with Pangle - 5.4.1.0

Version 3.2.4

15 Aug 10:38
Compare
Choose a tag to compare
  • Internal improvements in the Bidding logic.

Fixes

  • Fixed CASConsentFlow.present() error before CAS initialization.
  • Fixed UIViewController is not in the window hierarchy error during CASConsentFlow.present().
  • Fixed some rare cases where the CASInitialConfig.isConsentRequired was false.

Update Adapters

  • pod 'CleverAdsSolutions-SDK/IronSource', '3.2.4'
    • Certified with IronSource - 7.4.0.0
  • pod 'CleverAdsSolutions-SDK/AudienceNetwork', '3.2.4'
    • Certified with AudienceNetwork - 6.14.0
  • pod 'CleverAdsSolutions-SDK/Tapjoy', '3.2.4'
    • Downgrade Tapjoy version from 13.1.2 to 13.0.1 due to a drop in income performance.
  • pod 'CleverAdsSolutions-SDK/MyTarget', '3.2.4'
    • Improved income performance.
  • pod 'CleverAdsSolutions-SDK/DigitalTurbine', '3.2.4'
    • Certified with DigitalTurbine - 8.2.4
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.2.4'
    • Certified with Pangle - 5.4.0.7

Version 3.2.3

04 Aug 11:42
Compare
Choose a tag to compare

Update Adapters

  • pod 'CleverAdsSolutions-SDK/Mintegral', '3.2.3'
    • Certified with Mintegral - 7.4.2

Version 3.2.2

03 Aug 14:49
Compare
Choose a tag to compare

Fixes

  • Fixed a minor issue in mediation configuration for Test Ad mode.
  • Allowed set array of [CASType] to CAS.buildManager().withAdTypes() instead variadic parameters.
  • Allowed set CASTypeFlags to CAS.buildManager().withAdFlags() from Swift, just like from Objective-C.

Update Adapters

  • pod 'CleverAdsSolutions-SDK/GoogleAds', '3.2.2'
    • Certified with GoogleAds - 10.9.0
  • pod 'CleverAdsSolutions-SDK/AppLovin', '3.2.2'
    • Certified with AppLovin - 11.11.2
  • pod 'CleverAdsSolutions-SDK/YandexAds', '3.2.2'
    • Certified with YandexAds - 5.9.1
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.2.2'
    • Certified with Pangle - 5.3.1.2

Version 3.2.1

24 Jul 19:26
Compare
Choose a tag to compare

Update Adapters

  • pod 'CleverAdsSolutions-SDK/AppLovin', '3.2.1'
    • Certified with AppLovin - 11.11.0
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.2.1'
    • Certified with Pangle - 5.3.1.1
  • pod 'CleverAdsSolutions-SDK/AudienceNetwork', '3.2.1'
    • Fixed a critical performance bug.
  • pod 'CleverAdsSolutions-SDK/UnityAds', '3.2.1'
    • Fixed a critical performance bug.
  • pod 'CleverAdsSolutions-SDK/Tapjoy', '3.2.1'
    • Fixed a critical performance bug.

Version 3.2.0

20 Jul 13:52
Compare
Choose a tag to compare

Features

  • Added CASConsentFlow.withCompletionHandler(CASConsentCompletionHandler) to be invoked when the dialog is dismissed.
  • Added CASConsentFlow.withViewControllerToPresent(UIViewController) to the view controller to display over the current view controller’s content.
  • Added CASConsentFlow.present() to manually present ConsentFlow, before and after CAS initialization.

    On CAS initialization, the ConsentFlow still can be displayed automatically when conditions are met.

CASConsentFlow()
    .withCompletionHandler { }
    .withViewControllerToPresent(controller)
    .present()
  • Added CASInitialConfig.countryCode and CASInitialConfig.isConsentRequired properties:
CAS.buildManager().withCompletionHandler { initialConfig in
    let initError: String? = initialConfig.error
    let userCountryISO2: String? = initialConfig.countryCode
    let protectionApplied: Bool = initialConfig.isConsentRequired
    let manager: CASMediationManager = initialConfig.manager
}
  • Improvements and optimizations.

Changes

  • Updated minimum supported Xcode version to 14.3
  • The list of networks that are included in the Clever solutions has been changed.:
    • Optimal solution: Added Chartboost and DTExchange.
    • Families solution: Added Chartboost and DTExchange.
  • The CAS ConsentFlow dialog will not be present to users who have seen the Google User Messaging Platform form. The user's choice will apply to all networks in the mediation.
  • Migrating CASSettings to use properties instead of a function selector. For example, use CAS.settings.userConsent = .accepted instead of CAS.settings.updateUser(consent: .accepted).

    We do not plan to remove deprecated settings functions in the near future, so you will have the opportunity not to rush.

  • The CASSettings.setAnalyticsCollection(enabled:) is deprecated and enabled by default for CrossPromo.

Update Adapters

  • pod 'CleverAdsSolutions-SDK/Vungle', '3.2.0'
    • Certified with Vungle - 7.0.1
  • pod 'CleverAdsSolutions-SDK/GoogleAds', '3.2.0'
    • Certified with GoogleAds - 10.8.0
  • pod 'CleverAdsSolutions-SDK/UnityAds', '3.2.0'
    • Certified with UnityAds - 4.8.0
  • pod 'CleverAdsSolutions-SDK/Chartboost', '3.2.0'
    • Certified with Chartboost - 9.4.0
  • pod 'CleverAdsSolutions-SDK/Mintegral', '3.2.0'
    • Certified with Mintegral - 7.4.1
  • pod 'CleverAdsSolutions-SDK/MyTarget', '3.2.0'
    • Certified with MyTarget - 5.18.0
  • pod 'CleverAdsSolutions-SDK/Tapjoy', '3.2.0'
    • Certified with Tapjoy - 13.1.2
  • pod 'CleverAdsSolutions-SDK/YandexAds', '3.2.0'
    • Certified with YandexAds - 5.9.0
  • pod 'CleverAdsSolutions-SDK/Pangle', '3.2.0'
    • Certified with Pangle - 5.3.1.0
  • pod 'CleverAdsSolutions-SDK/DigitalTurbine', '3.2.0'
    • Certified with DigitalTurbine - 8.2.3