Test mode
Ask AI about this page
Never click or watch live ads in your own app: it generates invalid traffic, which is rejected and can get your app suspended. Use test mode for every debug and QA build.
Turn it on
Section titled “Turn it on”| Platform | Option |
|---|---|
| Android | QartveloAdsOptions(testMode = BuildConfig.DEBUG) |
| React Native | QartveloAds.initialize({ appKey, testMode: __DEV__ }) |
| REST API | "test_mode": true on /sdk/initialize and /ads/request |
Test mode is read only from your code; it is never cached, so turning it off takes effect on the next app start.
What changes
Section titled “What changes”-
The backend never selects live campaigns and never reserves budget. It returns built-in creatives labelled TEST AD:
Format Creative banner 320x50 PNG interstitial 1080x1920 PNG rewarded 15 s, 720x1280 MP4 -
Impressions, clicks and rewards are validated and de-duplicated exactly like live ones, so you can test your event handling, but they are never billed, never earn revenue and never appear in reports.
-
The app does not need to be approved yet: test sessions skip the approval check.
-
The AdMob adapter replaces your unit ids with Google’s public test units:
Format Google test unit banner ca-app-pub-3940256099942544/9214589741interstitial ca-app-pub-3940256099942544/1033173712rewarded ca-app-pub-3940256099942544/5224354917
Exercise the fallback
Section titled “Exercise the fallback”Add testForceNoFill = true (testForceNoFill: true in React Native). Every Qartvelo Ads request answers no_fill with reason test_no_fill, so each load emits onFallbackStarted and then shows a Google test ad. Google’s rewarded test unit grants 10 coins.
Set logLevel = QartveloAdsLogLevel.DEBUG (logLevel: 'debug') and filter logcat by the tag QartveloAds:
adb logcat -s QartveloAdsDebug logs include request timing, fallback decisions and event delivery. Tokens are never logged.
Sample apps
Section titled “Sample apps”The SDK repository contains a native sample (android/sample-app) and a React Native example (react-native/example). Both have Load/Show buttons, a banner screen, test-mode and force-no-fill switches, an editable base URL and an on-screen event log.