SDK Status
Android β FakeAgeSignalsManager
getAgeSignals Android + iOS
Android debug builds use FakeAgeSignalsManager from
com.google.android.play:age-signals-testing.
Pick any scenario β the fake manager returns it instantly without a Google account or signed APK.
In release builds, testScenario is ignored and the real API is called.
// Android: passes testScenario to FakeAgeSignalsManager (debug only) WTN.AgeSafety.getAgeSignals( { "ageGate": 18, "testScenario": "SUPERVISED" }, function(value) { /* value printed above */ } );
iOS β Sandbox Apple Account
iOS Sandbox Setup iOS only
iOS testing uses the Sandbox Apple Account built into Developer Settings β no code changes needed.
The sandbox configures what AgeRangeService.requestAgeRange() returns on device.
- Enable Developer Mode on your device
(
Settings β Privacy & Security β Developer Mode) - Open
Settings β Developer β Sandbox Apple Account - Sign in if prompted, then tap Manage
- Scroll to Age Assurance and select a test case from the table below
- Run the getAgeSignals call β the API returns the sandbox values instantly
| Sandbox Test Case | lowerBound | upperBound | ageRangeDeclaration | PermissionKit response |
|---|---|---|---|---|
| Under 13, approved | β | 12 | guardianPaymentChecked | .approve |
| Ages 13β15, approved | 13 | 15 | guardianPaymentChecked | .approve |
| Ages 16β17, declined | 16 | 17 | guardianPaymentChecked | .decline |
| 18+, self declared | 18 | β | selfDeclared | AskError.notAvailable |
| 18+, payment checked | 18 | β | paymentChecked | AskError.notAvailable |
notifySignificantChange
(PermissionKit) throws AskError.notAvailable β adults don't require
parental permission. This is correct behaviour, not an error in your code.
iOS β Revoke App Consent iOS only
Simulate a parent revoking access so you can test how your app handles the
RESCIND_CONSENT server notification.
- Go to
Settings β Developer β Sandbox Apple Account β Manage - Tap Revoke App Consent
- Enter your app's Bundle ID (e.g.
com.webtonative.appbuilderβ¦) - Tap Revoke Consent β confirm the "Notification Triggered" toast
- If App Store Server Notifications V2 is enabled your server receives
a
RESCIND_CONSENTevent withbundleIdandenvironmentfields
iOS β PermissionKit
notifySignificantChange iOS only Β· iOS 26.2+
On a real iOS 26.2 device with a sandbox under-18 account configured,
AskCenter.shared.ask() shows the actual system sheet.
In Simulator (or when iOS < 26.2) the #if DEBUG path fires a
success callback instantly so the JS bridge flow can still be verified.
WTN.AgeSafety.notifySignificantChange( { "topicString": "We added parental controlsβ¦" }, function(value) { /* value printed above */ } );