-
-
Notifications
You must be signed in to change notification settings - Fork 0
Testing and Troubleshooting
Test privacy, initialization, loading, presentation, and lifecycle behavior before using production ad-unit IDs.
The repository includes:
-
AMDevIT.Admob.Wrapper.DroidTestAppfor native Android; -
AMDevIT.Admob.Wrapper.AppleTestAppfor native iOS; -
AMDevIT.Admob.Wrapper.MAUITestAppfor Android, iOS, Windows, and Mac Catalyst; -
AMDevIT.Admob.Wrapper.MAUICross.Testsfor managed full-screen lifecycle and desktop consent-placeholder tests.
The Apple app covers UMP, privacy options, IAppleLogger, adaptive banners,
interstitial, rewarded, and app-open. The MAUI app delays mobile banner
materialization until consent succeeds and displays the desktop fallback.
Application ID:
ca-app-pub-3940256099942544~3347511713
| Format | Test ad-unit ID |
|---|---|
| App open | ca-app-pub-3940256099942544/9257395921 |
| Banner | ca-app-pub-3940256099942544/6300978111 |
| Interstitial | ca-app-pub-3940256099942544/1033173712 |
| Rewarded | ca-app-pub-3940256099942544/5224354917 |
| Rewarded interstitial | ca-app-pub-3940256099942544/5354046379 |
| Native | ca-app-pub-3940256099942544/2247696110 |
Test at least:
- first launch with required consent;
- returning user with valid state;
- consent refresh error with previous
CanRequestAds == true; - consent state that does not allow ad requests;
- privacy-options form when required;
- under-age setting;
- reset followed by a new consent flow;
- EEA debug geography using a registered test device;
- no-op behavior on Windows and Mac Catalyst.
Never ship debug geography or test-device identifiers in production.
For every mobile format verify:
- successful load;
- no-fill/load failure and native error code;
- successful presentation;
- click and impression callbacks;
- failed-to-show callback;
- dismissal timing;
- repeated load after dismissal;
- orientation/container-width changes for adaptive banners;
- reward granted only from the reward callback.
Do not instantiate/show a mobile banner or call a full-screen load before the UMP workflow allows requests. In MAUI, bind banner visibility to a startup state that becomes true only after consent and initialization.
Consent is a no-op on desktop, but full-screen ads are not. Hide mobile-only
commands and use FallbackTemplate. See Desktop Fallbacks.
One MAUI full-screen service instance supports one native load at a time. Caller cancellation does not cancel native work. Wait for the callback before starting another load.
Remove Xamarin.GooglePlayServices.Ads. The project uses Mobile Ads Next-Gen.
Do not add an explicit UMP dependency to the native Gradle module.
Verify GADApplicationIdentifier in Info.plist and confirm the presenting
UIViewController is visible before UMP or full-screen presentation.
Enable a Microsoft.Extensions.Logging provider before
UseAMDevITAdMobWrapper, or supply IDroidLogger/IAppleLogger to low-level
constructors.
- Build every target used by the application.
- Run managed tests.
- Use exact release-candidate NuGet packages in a real consumer.
- Run Android and iOS tests on physical devices.
- Verify privacy options remain reachable when required.
- Remove consent debug settings.
- Replace test IDs only after development testing is complete.
- Review native warning/error logs.