Overview
Splash Ads are advertisements displayed on the splash screen when the app launches. The ad is shown alongside your app’s logo, providing a natural user experience.Features
- Natural ad exposure at app launch
- Maintains brand image with app logo
- 360dp × 270dp ad area, 288dp × 288dp logo area
- Image ad support
- Android 12+ system splash screen support
Use the test unit ID during development:
PUBLIC_TEST_UNIT_ID_SPLASHCaching Behavior
Splash ads are prefetched and cached on the device so the creative can appear instantly at launch, before any network request completes. On the next launch the cached creative is shown first, and a fresh ad request runs in the background to refresh the cache for subsequent launches.Ad and Logo Sizes
Splash ads use predefined areas:- Logo area: 288dp × 288dp (center of screen)
- Ad area: 360dp × 270dp (bottom of screen)
- The ad is displayed at the bottom of the screen, with the app logo positioned at the top
Implementation Methods
Splash ads can be implemented in two ways depending on your app’s requirements:- Using AdropSplashAd - Integrates with system splash screen (Android 12+)
- Using AdropSplashAdView - Custom splash screen configuration
Method 1: Using AdropSplashAd (System Splash Integration)
This method integrates with the system splash screen on Android 12 (API 31) and above.AdropSplashAdActivity automatically manages the splash screen.
Step 1: Configure strings.xml
Add the following settings toapp/src/main/res/values/strings.xml.
res/values/strings.xml
Use
PUBLIC_TEST_UNIT_ID_SPLASH instead of YOUR_SPLASH_UNIT_ID for testing.Step 2: Add Splash Logo Image
Add your app logo to theres/drawable/ folder.
Step 3: Configure AndroidManifest.xml
SetAdropSplashAdActivity as the launcher activity.
AndroidManifest.xml
Step 4: Configure Splash Theme
Add the splash theme tores/values/themes.xml.
res/values/themes.xml
On devices below Android 12, the system splash is not displayed and
AdropSplashAdActivity is shown directly.Step 5: Customize Layout (Optional)
If you want to use a custom layout instead of the default, createactivity_adrop_splash_ad.xml in your app’s res/layout/ folder.
res/layout/activity_adrop_splash_ad.xml
Step 6: Initialize SDK in Application
MyApplication.kt
Step 7: Implement AdropSplashAd Listener (Optional)
To receive splash ad events, set up a listener in yourApplication class.
AdropSplashAd Properties
| Property | Type | Description |
|---|---|---|
unitId | String | Ad unit ID (read-only) |
creativeId | String | Ad creative ID (read-only) |
isClosed | Boolean | Whether splash ad is closed (read-only) |
isDestroyed | Boolean | Whether splash ad is destroyed (read-only) |
AdropSplashAd Methods
| Method | Description |
|---|---|
close() | Immediately closes splash ad and navigates to next screen |
destroy() | Releases resources and unregisters lifecycle callbacks. Call when splash ad is no longer needed. |
shouldSkip Callback
Use theshouldSkip callback in the AdropSplashAd constructor to skip splash ads under certain conditions.
When
shouldSkip returns true, the splash ad is immediately closed and navigates to the next screen.Configure Splash Display Duration (Optional)
To change the default display duration (2 seconds), createres/values/integers.xml file and configure it.
res/values/integers.xml
The configurable range is 500ms to 3000ms. Values outside this range are automatically corrected.
Skip Splash on Push Notification Deep Link (Optional)
You can configure to skip splash ads when the app is launched via push notification with a deep link.res/values/bools.xml
Method 2: Using AdropSplashAdView (Custom Splash)
Use this when you want to configure a custom splash screen yourself. Create your own splash Activity and placeAdropSplashAdView.
Step 1: Create Layout
activity_splash.xml
Step 2: Implement SplashActivity
Step 3: Configure AndroidManifest.xml
AndroidManifest.xml
AdropSplashAdView Properties
| Property | Type | Description |
|---|---|---|
unitId | String | Ad unit ID (read-only) |
creativeId | String | Ad creative ID (read-only) |
isClosed | Boolean | Whether splash ad is closed (read-only) |
txId | String | Transaction ID (read-only) |
campaignId | String | Campaign ID (read-only) |
AdropSplashAdView Methods
| Method | Description |
|---|---|
load() | Loads and displays the ad |
destroy() | Releases resources (timers, visibility tracker, listener). Call when splash ad view is no longer needed. |
Listeners
AdropSplashAdListener
Listener for when usingAdropSplashAd.
| Method | Required | Description |
|---|---|---|
onAdReceived(ad) | Optional | Called when ad is received successfully |
onAdFailedToReceive(ad, errorCode) | Optional | Called when ad fails to load |
onAdImpression(ad) | Optional | Called when ad impression is recorded |
onAdClose(ad, impressed) | Required | Called when splash ad closes |
AdropSplashAdViewListener
Listener for when usingAdropSplashAdView.
| Method | Required | Description |
|---|---|---|
onAdReceived(ad) | Optional | Called when ad is received successfully |
onAdFailedToReceive(ad, errorCode) | Optional | Called when ad fails to load |
onAdImpression(ad) | Optional | Called when ad impression is recorded |
onAdClose(ad, impressed) | Required | Called when splash ad closes. Must handle main screen transition |
impressed Parameter
Theimpressed parameter in onAdClose(ad, impressed) indicates whether the ad was actually displayed.
Cases When impressed is false
- Ad load failure
- Network error
- User skipped before viewing ad
- Insufficient ad inventory
Best Practices
1. Set Appropriate Timers
Splash ads should not be displayed too short or too long.2. Optimize Logo Image
Prepare your app logo in appropriate sizes to minimize loading time.3. Handle Failures
Ensure the app starts normally even when ad loading fails.4. Distinguish Test Environment
Distinguish between development and production environments for testing.5. Prevent Memory Leaks
Clean up listeners when Activity is destroyed.Testing
Test Unit ID
Use the test unit ID during development.Debugging
Check ad events with logs.Troubleshooting
Splash screen is not displayed
Splash screen is not displayed
- Verify that
AdropSplashAdActivityor custom SplashActivity is set as LAUNCHER in AndroidManifest.xml - Check
android:exported="true"setting - Verify SDK initialization is complete (Application class)
- Check that
adrop_service.jsonfile is in theassetsfolder
Ad is not loading
Ad is not loading
- Check network connection status
- Verify the unit ID is correct (strings.xml or code)
- Verify
production = falsesetting in test environment - Check
onAdFailedToReceiveerror code - Verify
adrop_service.jsonfile content is correct
Not transitioning to main screen
Not transitioning to main screen
- Verify
adrop_splash_ad_next_activitysetting is correct (full package path) - Check
onAdCloseimplementation when usingAdropSplashAdView - Verify Activity’s full qualified name (e.g., com.myapp.MainActivity)
Custom layout is not applied
Custom layout is not applied
- Verify filename is exactly
activity_adrop_splash_ad.xml - Check that an ImageView with
android:id="@+id/adrop_splash_ad_image"ID exists - Clean build and re-run the app (Build > Clean Project > Rebuild Project)
System splash not visible on devices below Android 12
System splash not visible on devices below Android 12
This is normal. The system splash screen is not supported on devices below Android 12, and
AdropSplashAdActivity is displayed directly.Next Steps
Interstitial Ads
Display full-screen ads during screen transitions
Banner Ads
Implement banner ads
Native Ads
Custom design native ads
Rewarded Ads
Provide user rewards