-
Notifications
You must be signed in to change notification settings - Fork 4
Early Access SDK
Str4tos edited this page Apr 29, 2025
·
22 revisions
- 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-levelbuild.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
, andCASRewarded
ad objects.
Read more about the new implementation below.
Previously, ad management required working with aMediationManager
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 newAdContentInfo
structure. - The
show(Activity?)
method for screen ads no longer requires anActivity
, but it is still recommended when possible. The CAS SDK will attempt to determine the last createdActivity
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 fromAdError
toAdErrorCode
. - 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
andCASInterstitial
ad instances. To enable this feature, use theisAutoshowEnabled
property.
Early beta versions
- 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 AdcreateAdChoicesContentView()
when an ad content was reused. - Fixed
IllegalStateException
crash from Native Ad contentdestroy()
. - Fixed
StackOverflowException
crash from Native Ad contentat android.view.Choreographer
. - Fixed a rare issue where
onNativeAdFailedToShow()
was triggered with the "Ad Expired" error for valid content. - Fixed an issue where
CASMediaView
withWrap Content
could have a size of0
. - 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)
- Fixed a rare issue blocking interstitial loading due to the rewarded extra fill feature.
- Fixed some minor errors in the mediation logic.
- Improved performance of loading multiple ads simultaneously.
- Fixed some issues.
- Renamed
AdContent
toAdContentInfo
. - Renamed functions in the
CASBannerView
to be consistent with other ad formats:-
isAdReady
toisLoaded
-
loadNextAd
toload
-
- 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
}
}
- 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.
- 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
toAdFormat.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.
- 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 calldestroy()
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 ofload(Context?)
. - The
show(Activity?)
method for screen ads no longer requires anActivity
, but it is still recommended to pass anActivity
when possible. The CAS SDK will attempt to determine the last createdActivity
of your app.
- The screen ad instance can now be loaded if it will only be used in
- Update for Native format:
-
CASMediaView
can now have a size ofWRAP_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 toCASNativeView
without causing an error. However, note that you should avoid situations where the sameNativeAdContent
is set to multipleCASNativeView
instances simultaneously. Also, make sure to always calldestroy()
forNativeAdContent
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 newsetAdTemplateSize(AdSize)
method. This new method still creates a view layout with the specified size, but now you must callsetNativeAd(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 differentNativeAdContent
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()
, oroptOut()
functions calls for Tenjin SDK..withMediationExtras("tenjin_key", TENJIN_SDK_KEY)
- Fixed
java.lang.ClassCastException: LayoutParams cannot be cast to MarginLayoutParams
fromCASNativeView
. - 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.
- 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 orUNKNOWN
. -
InitializationError.NO_CONNECTION
now immediately interrupt the initialization process. - CAS initialization can now occur as needed during ad loading.
- Added new
-
CASBannerView
now has a size of (0, 0) when no ad is loaded. You can useWRAP_CONTENT
for this case. - Optimized mediation initialization.
- 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.
- Includes adapter updates from version 3.9.5.
- Fixed crash from CASExchange adapter.
- Fixed some internal bugs.
- 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.
- Includes adapter updates from version 3.9.4.
- Fixed internal critical bugs in mediation.
- Optimized some internal processes.
- The
NativeAdContentCallback.onAdFailedToShow
function renamed toonNativeAdFailedToShow
. - 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
}
}
- 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.
- Integration
- Initialization
- Additional mediation steps
- Google Play data disclosure
- App-ads.txt🔗
- App Open Ad
- Banner Ad
- Interstitial Ad
- Rewarded Ad
- Native Ad