feat(age-signals): add DECLARED status, ageRangeDeclaration, and SDK_VERSION_OUTDATED error#811
Conversation
…`SDK_VERSION_OUTDATED` error
@capawesome/capacitor-age-signals
@capawesome-team/capacitor-android-battery-optimization
@capawesome/capacitor-android-dark-mode-support
@capawesome/capacitor-android-edge-to-edge-support
@capawesome-team/capacitor-android-foreground-service
@capawesome/capacitor-app-review
@capawesome/capacitor-app-shortcuts
@capawesome/capacitor-app-update
@capawesome/capacitor-apple-sign-in
@capawesome/capacitor-asset-manager
@capawesome/capacitor-background-task
@capawesome/capacitor-badge
@capawesome/capacitor-cloudinary
@capawesome-team/capacitor-datetime-picker
@capawesome-team/capacitor-file-opener
@capawesome/capacitor-file-picker
@capawesome/capacitor-formbricks
@capawesome/capacitor-google-sign-in
@capawesome/capacitor-libsql
@capawesome/capacitor-live-update
@capawesome/capacitor-managed-configurations
@capawesome/capacitor-photo-editor
@capawesome/capacitor-pixlive
@capawesome/capacitor-posthog
@capawesome/capacitor-realtimekit
@capawesome/capacitor-screen-orientation
@capawesome/capacitor-screenshot
@capawesome/capacitor-square-mobile-payments
@capawesome/capacitor-superwall
@capawesome/capacitor-torch
commit: |
There was a problem hiding this comment.
Pull request overview
Adds new age-signal surface area to the @capawesome/capacitor-age-signals plugin to support the latest Play Age Signals SDK updates on Android and expose age range declaration metadata on iOS.
Changes:
- Add
UserStatus.DECLAREDandErrorCode.SDK_VERSION_OUTDATEDto the public TypeScript API and update Android mappings/error handling accordingly. - Add
ageRangeDeclarationto iOSCheckAgeSignalsResult(plus a newAgeRangeDeclarationenum) and include it in the JS payload when available. - Bump Android Play Age Signals dependency from
0.0.2→0.0.3and document the new API surface.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/age-signals/src/definitions.ts | Extends TS API with ageRangeDeclaration, DECLARED status, and SDK_VERSION_OUTDATED error code. |
| packages/age-signals/ios/Plugin/Enums/UserStatus.swift | Adds DECLARED case to iOS-side user status enum. |
| packages/age-signals/ios/Plugin/Enums/AgeRangeDeclaration.swift | Introduces iOS-side AgeRangeDeclaration enum for JS serialization. |
| packages/age-signals/ios/Plugin/Classes/Results/CheckAgeSignalsResult.swift | Adds ageRangeDeclaration to iOS result object and JS conversion. |
| packages/age-signals/ios/Plugin/AgeSignals.swift | Maps iOS ageRangeDeclaration from DeclaredAgeRange response when available. |
| packages/age-signals/ios/Plugin.xcodeproj/project.pbxproj | Wires new Swift enum file into the Xcode project build. |
| packages/age-signals/android/.../enums/UserStatus.java | Adds DECLARED to Android enum. |
| packages/age-signals/android/.../results/CheckAgeSignalsResult.java | Replaces ordinal-based mapping with explicit integer-to-enum mapping. |
| packages/age-signals/android/.../options/SetNextAgeSignalsResultOptions.java | Maps DECLARED to the SDK’s verification status for the fake manager. |
| packages/age-signals/android/.../options/SetNextAgeSignalsExceptionOptions.java | Adds mapping for SDK_VERSION_OUTDATED error code in fake exceptions. |
| packages/age-signals/android/.../classes/CustomExceptions.java | Defines SDK_VERSION_OUTDATED custom exception. |
| packages/age-signals/android/.../AgeSignals.java | Maps status code 25010 to SDK_VERSION_OUTDATED. |
| packages/age-signals/android/build.gradle | Bumps com.google.android.play:age-signals to 0.0.3. |
| packages/age-signals/README.md | Updates dependency version docs and documents new TS API fields/enums. |
| .changeset/neat-bugs-move.md | Adds a changeset entry for the new feature. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Apple deprecated the six method-specific cases (`checkedByOtherMethod`, `governmentIDChecked`, `paymentChecked`, and their guardian variants) and replaced them with a single `confirmed` case in iOS 26.5. Mirror that simplification in the plugin: expose only `SELF_DECLARED`, `GUARDIAN_DECLARED`, and `CONFIRMED`, and map the deprecated iOS 26.2 cases onto `CONFIRMED`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
DECLARED status, ageRangeDeclaration, and SDK_VERSION_OUTDATED errorDECLARED status, ageRangeDeclaration, and SDK_VERSION_OUTDATED error
Follow-up: handle Apple's new
|
Summary
DECLAREDuser status for Android (Play Age Signals API v0.0.3)ageRangeDeclarationproperty toCheckAgeSignalsResultfor iOS 26.2+ — exposesSELF_DECLARED,GUARDIAN_DECLARED, andCONFIRMED, mirroring Apple's simplified API direction (the six method-specific cases were deprecated by Apple and collapsed intoconfirmedin iOS 26.5)SDK_VERSION_OUTDATEDerror code for AndroidandroidPlayAgeSignalsVersionfrom0.0.2to0.0.3UserStatus.UNKNOWNandUserStatus.EMPTYdocstrings to match Google's official semantics (resolves customer confusion aboutnullvsUNKNOWN)mapUserStatuswith explicit switch statement to decouple from enum orderingTest plan
DECLAREDstatus is correctly returned on AndroidageRangeDeclarationis correctly returned on iOS 26.2+ (SELF_DECLARED,GUARDIAN_DECLARED,CONFIRMED)nullvsUNKNOWNuser status produce distinct results on AndroidSDK_VERSION_OUTDATEDerror code mapping on AndroidDECLAREDstatus andSDK_VERSION_OUTDATEDerror