Skip to content

Early Access SDK

Str4tos edited this page Apr 29, 2025 · 22 revisions

Release 4.0

  • Please check the updated Uncyclo for details about the CAS 4 release.
  • Starting in version 4.0.0, the CAS.AI SDK requires all apps to run on a minimum Android API level 23 to run. To adjust the API level, change the minSdk value in your app-level build.gradle file to 23 or higher.
  • Added support for the Native Ad format.
  • All ad formats are now managed using a CAS ID string with the new CASAppOpen, CASInterstitial, and CASRewarded ad objects.
    Read more about the new implementation below.
    Previously, ad management required working with a MediationManager instance.
    You can now preload and cache multiple instances of each ad format, reducing latency and improving ad display performance.
  • All ad formats have OnImpressionListener to collect impression data via new AdContentInfo structure.
  • The show(Activity?) method for screen ads no longer requires an Activity, but it is still recommended when possible. The CAS SDK will attempt to determine the last created Activity of your app.
  • Added Autoload mode for CASAppOpen ad instance.
  • Added automatic initialization of the Tenjin SDK when the API key is provided in the CAS SDK initialization parameters.
  • AdError.getMessage() now provides more detailed error information.
    A single error code may include multiple detailed messages.
    All error code constants have been moved from AdError to AdErrorCode.
  • Added a new adapter for the YSO Network.
  • Added a new adapter for Prado Ads (Closed Beta). Contact your account manager if you would like to try this new ad network.
  • The automatic display of App Return Ads replaced to new auto show mode for CASAppOpen and CASInterstitial ad instances. To enable this feature, use the isAutoshowEnabled property.
Early beta versions

RC 5

  • Fixed an issue where screen ads could not be displayed with the "Ad already displayed" error due to a load call occurring during ad display.
  • Fixed IllegalStateException crash from Native Ad createAdChoicesContentView() when an ad content was reused.
  • Fixed IllegalStateException crash from Native Ad content destroy().
  • Fixed StackOverflowException crash from Native Ad content at android.view.Choreographer.
  • Fixed a rare issue where onNativeAdFailedToShow() was triggered with the "Ad Expired" error for valid content.
  • Fixed an issue where CASMediaView with Wrap Content could have a size of 0.
  • Fixed a Native Ad content reuse issue from LiftoffMonetize.
  • Fixed a rare issue where the load ad call for bidding ad content was lost.
  • Improved screen ad content checks for show().
  • Added support GPP HDR for Bid Requests.
  • Update SDK: Unity Ads (4.14.0), Yandex Ads (7.11.0), InMobi (10.8.2), Pangle (6.5.0.6), Bigo (5.2.1)

RC 4

  • Fixed a rare issue blocking interstitial loading due to the rewarded extra fill feature.
  • Fixed some minor errors in the mediation logic.

RC 3

  • Improved performance of loading multiple ads simultaneously.
  • Fixed some issues.
  • Renamed AdContent to AdContentInfo.
  • Renamed functions in the CASBannerView to be consistent with other ad formats:
    • isAdReady to isLoaded
    • loadNextAd to load
  • Added val contentInfo: AdContentInfo? property for each ad formats to get loaded ad content info.
  • Added new adapter for Prado Ads. Contact our manager if you want to try a new ad network. To integrate, you need to include the adapter to build:
cas {
    adapters {
        prado = true
    }
}

RC 2

  • Added collection of internal ads metrics for CAS.
  • Improved suspension of banner refresh timer when it is outside the screen.
  • Improved ad expiration tracking system.
  • Improved handling and logs of native ad display errors.
  • Internal fixes.
  • Removed LoopMe adapter support.

RC 1

  • Includes adapter updates from version 3.9.9.
  • [Critical DTExchange fix] Fixed usage of Android Advertising ID to be compliant with Google Play Ads policy.
  • Renamed AdFormat.MREC to AdFormat.MEDIUM_RECTANGLE.
  • Fixed InMobi Bidding.
  • Fixed some issues with the native ad format.
  • Improved various aspects to accelerate ad loading process.
  • Enhanced performance of Bidding requests.

Beta 9

  • Includes adapter updates from version 3.9.8.
  • Update for AppOpen, Interstitial, Rewarded:
    • The screen ad instance can now be loaded if it will only be used in ScreenAdContentCallback. Make sure to call destroy() to release application resources.
    • The screen ad instances no longer requires a context to create (context can be optionally null).
    • The load() method for screen ads is deprecated in favor of load(Context?).
    • The show(Activity?) method for screen ads no longer requires an Activity, but it is still recommended to pass an Activity when possible. The CAS SDK will attempt to determine the last created Activity of your app.
  • Update for Native format:
    • CASMediaView can now have a size of WRAP_CONTENT. In this case, it will use all available space while maintaining the aspect ratio of the ad content.
    • NativeAdContent can now be set repeatedly to CASNativeView without causing an error. However, note that you should avoid situations where the same NativeAdContent is set to multiple CASNativeView instances simultaneously. Also, make sure to always call destroy() for NativeAdContent that is no longer in use, in order to release application resources.
    • The CASNativeView.setNativeAdTemplate(NativeAdContent, AdSize) method is now deprecated in favor of the new setAdTemplateSize(AdSize) method. This new method still creates a view layout with the specified size, but now you must call setNativeAd(NativeAdContent) to populate the content.

[!NOTE]
Creating the view layout may cause a delay in UI rendering, so it is recommended to specify the template size once during initialization. After that, you can set different NativeAdContent for the same view without any loss in rendering performance.

  • Added automatic initialization of the Tenjin SDK when you provide the API key in the CAS SDK initialization parameters. The CAS SDK will handle the connect(), optIn(), or optOut() functions calls for Tenjin SDK. .withMediationExtras("tenjin_key", TENJIN_SDK_KEY)
  • Fixed java.lang.ClassCastException: LayoutParams cannot be cast to MarginLayoutParams from CASNativeView.
  • Fixed a tracking issues for YsoNetwork and Yandex Ads impressions.
  • Fixed an issue where Mintegral video ads would not play in their native format.
  • Fixed an issue where Mintegral AppOpen ads could show underneath existing dialogs.
  • Fixed a rare issue where on some tablets the banner size would load in Leaderboard format instead of the normal one.

Beta 8

  • Fixed an issue where Native Ads did not trigger loading callbacks.
  • Fixed a rare issue where AppOpen Ads could appear on top of Interstitial Ads.
  • Fixed a rare issue where fullscreen ads were not shown due to AdErrorCode.ALREADY_DISPLAYED.
  • Fixed display issues with CASExchange.
  • Fixed tracking issues for YsoNetwork impressions.
  • Added new ConsentFlow.Status.UNKNOWN that can only occur if CPM has not been initialized yet.
  • Added new AdErrorCode.REJECTED that occurs when the device is not supported by all services.
  • Improved CAS initialization:
    • Added new InitialConfiguration.consentFlowStatus with status of Consent Flow or UNKNOWN.
    • InitializationError.NO_CONNECTION now immediately interrupt the initialization process.
    • CAS initialization can now occur as needed during ad loading.
  • CASBannerView now has a size of (0, 0) when no ad is loaded. You can use WRAP_CONTENT for this case.
  • Optimized mediation initialization.

Beta 7

  • Includes adapter updates from version 3.9.7.
  • Fixed one of the InMobi processes.
  • Fixed potential loss of activity for showing Consent Flow when CAS initialization.
  • Improved Yandex Ads bidding requests.
  • Improved YSO Network bidding requests.
  • Optimized mediation processes.

Beta 5

  • Includes adapter updates from version 3.9.5.
  • Fixed crash from CASExchange adapter.
  • Fixed some internal bugs.

Beta 4

  • Fixed YSO Network adapter.
  • Fixed NullPointerException from IronSource adapter.
  • Fixed ActivityNotFoundException from CASExchange adapter.
  • Fixed an issue where SDK automatic initialization would complete incorrectly.
  • Fixed an issue where ads would fail to load when multiple CAS IDs were used.
  • Optimized some internal processes.

Beta 3

  • Includes adapter updates from version 3.9.4.
  • Fixed internal critical bugs in mediation.
  • Optimized some internal processes.
  • The NativeAdContentCallback.onAdFailedToShow function renamed to onNativeAdFailedToShow.
  • Added new adapter for YSO Network. Contact our manager if you want to try a new ad network. To integrate, you need to add a new repository to project settings:
maven {  
    name = "YSOAdsRepo"  
    url = "https://ysonetwork.s3.eu-west-3.amazonaws.com/sdk/android"  
    content { it.includeGroup("com.ysocorp") }  
}

And include the adapter to build:

cas {
    adapters {
        ysoNetwork = true
    }
}

Beta 2

  • Fixed some internal exceptions.
  • Added CASMediaView.imageScaleType property.
  • Added CASNativeLoader.isStartVideoMuted property.
  • Added Native Ads support from more ad sources.
  • Added App Open Ads support from more ad sources.
Clone this wiki locally