Skip to content

Releases: cleveradssolutions/CAS-Flutter

Version 4.4.2

31 Oct 12:15

Choose a tag to compare

  • Updated CAS Android and iOS dependencies to 4.4.2

Version 4.4.1

30 Oct 09:35

Choose a tag to compare

  • Updated CAS Android and iOS dependencies to 4.4.1
  • Renamed AdError.rejected to AdError.codeRejected for consistency with other error codes.
  • Migration to the new Developer Docs

Version 4.3.0

10 Oct 06:24

Choose a tag to compare

Major changes

  • Version bumped to 4.3 to align with native SDK versions.
  • Completely rewritten Android and iOS platform code for improved performance, stability, and better integration with native SDKs.
  • Introduced new CASMobileAds class. Deprecated CAS and MediationManager classes are still available for use but they may be removed in a future release.
  • The CAS SDK initialization is now done via a single function CASMobileAds.initialize(...) that uses a Future to return the new InitializationStatus structure.
  • The Ad format management has been modernized and streamlined. All ad classes now extend the base AdInstance class and share similar callbacks.
  • Introduced createAndLoad(...) method for each ad format, accepting all possible configuration options and automatically initiating ad loading. This improvement simplifies and optimizes the creation of ad instances.
  • Introduced support for Native Ads using built-in templates or native platform view factories.
  • The Banner ad management is now handled via the CASBanner class, which can be createAndLoad(...) independently of the widget state and displayed using the new CASWidget. Platform view rendering has been optimized by simplifying the widget class.
  • The CAS ID only needs to be passed once during initialization if you are using a single ID.
  • The AdContentInfo structure now provides ad information synchronously, without requiring await of Future.
  • Added the debugGeography to override PrivacyGeography for ConsentFlow to test different consent dialogs.
  • The ConsentFlow.show() functions now complete Future<int> only after the consent form is dismissed and return the resulting consent flow status.
  • For detailed information on all new functions, please refer to the updated wiki.
  • Removed several functions that were previously deprecated.

Migration table

Deprecated functions are still supported but no longer recommended.

Deprecated Replacement
CAS.buildManager()... CASMobileAds.initialize(...)
CAS.targetingOptions... CASMobileAds.targetingOptions...
CAS.settings.setMutedAdSounds() CASMobileAds.setAdSoundsMuted()
CAS.settings.setDebugMode() CASMobileAds.setDebugLoggingEnabled()
CAS.settings.setTrialAdFreeInterval() CASMobileAds.setTrialAdFreeInterval()
CAS.settings.setTaggedAudience() CASMobileAds.initialize(targetAudience:)
CAS.settings.setTestDeviceId() CASMobileAds.initialize(testDeviceIds:)
CASInterstitial.create() CASInterstitial.createAndLoad(...)
CASInterstitial.impressionListener CASInterstitial.onAdImpression
CASInterstitial.contentCallback CASInterstitial.onAdLoaded and others
CASAppOpen.create() CASAppOpen.createAndLoad(...)
CASAppOpen.impressionListener CASAppOpen.onAdImpression
CASAppOpen.contentCallback CASAppOpen.onAdLoaded and others
CASRewarded.create() CASRewarded.createAndLoad(...)
CASRewarded.impressionListener CASRewarded.onAdImpression
CASRewarded.contentCallback CASRewarded.onAdLoaded and others
OnRewardEarnedListener CASRewarded.onUserEarnedReward
BannerWidgetState()... CASBanner.createAndLoad(...)
BannerWidget(...) CASWidget(ad:)
AdSize.getAdaptiveBannerInScreen() maxWidth = MediaQuery.of(context).size.width
and AdSize.getAdaptiveBanner(maxWidth)

Version 0.9.0

08 Aug 09:42

Choose a tag to compare

  • Updated CAS Android and iOS dependencies to 4.3.0
  • Updated AdError codes for compatibility with CAS 4.

Bug Fixes

  • Fixed a type mismatch issue in AdErrorFactory. #46
  • Fixed an IndexOutOfRangeException in onConsentFlowDismissed().
  • Fixed a MissingPluginException in CASInterstitial.setMinInterval().
  • [iOS] Fixed OnImpressionListener not being triggered for BannerWidget.

Deprecations

The following functions are deprecated. They are still supported for now but are not recommended for use in new implementations.

  • Deprecated ConsentFlow.withDismissListener(OnDismissListener) as it always returns ConsentStatus.undefined. Use ConsentFlow.setOnDismissCallback(OnConsentFlowDismissedCallback) instead, which provides a valid int status. Refer to constants in ConsentFlow for status values.
  • Deprecated MediationManager.enableAppReturn(). Migrate to the new CASAppOpen or CASInterstitial APIs and enable this feature via the isAutoshowEnabled property.
  • Deprecated MediationManager.setAdLoadCallback() as it's no longer the recommended way to listen for ad loading events. Use the new implementation in individual ad classes instead.
  • Deprecated AdContentInfo.getSourceId() as it's no longer recommended and will be removed in future versions. Use getSourceName() instead.
  • Deprecated AdsSettings.setLoadingMode() in favor of the new ad class implementation, which provides full control over the ad lifecycle.

Version 0.8.9

28 Jul 10:13

Choose a tag to compare

  • Fixed BannerWidgetStateImpl.dispose failed to call super.dispose issue #45.

Version 0.8.8

25 Jul 13:57

Choose a tag to compare

  • [Android] Fixed build failure related to missing style attribute windowOptOutEdgeToEdgeEnforcement by increasing compileSdkVersion to 35 in the plugin.

Version 0.8.7

14 Jul 15:16

Choose a tag to compare

  • Updates CAS Android 4.2.0 and iOS 4.2.1 dependency

Version 0.8.5

24 Jun 13:21

Choose a tag to compare

Version 0.8.4

13 Jun 12:53

Choose a tag to compare

0.8.3

12 Jun 09:39

Choose a tag to compare

  • Wraps 4.1.0 Android and iOS SDK.
  • Resolved all Flutter/Dart static analysis warnings.