Skip to content

Getting Started

Terminal window
bun add @capgo/capacitor-android-age-signals
bunx cap sync
import { AgeSignals } from '@capgo/capacitor-android-age-signals';

Request the current Play Age Signals for the active user.

Only available on Android devices with Google Play installed.

import { AgeSignals } from '@capgo/capacitor-android-age-signals';
await AgeSignals.checkAgeSignals();

Structured result returned by .

export interface CheckAgeSignalsResult {
/**
* The user's verification status as reported by Google Play.
*
* @since 0.0.1
*/
userStatus: UserStatus;
/**
* Inclusive lower bound of the supervised user's age range.
*
* Present only when `userStatus` is `SUPERVISED`, `SUPERVISED_APPROVAL_PENDING`, or `SUPERVISED_APPROVAL_DENIED`.
*
* @since 0.0.1
* @example 13
*/
ageLower?: number;
/**
* Inclusive upper bound of the supervised user's age range.
*
* Present only when `userStatus` is `SUPERVISED`, `SUPERVISED_APPROVAL_PENDING`, or `SUPERVISED_APPROVAL_DENIED`
* and the user's age is reported as less than 18.
*
* @since 0.0.1
* @example 15
*/
ageUpper?: number;
/**
* Effective date for the most recent significant change that received guardian approval.
*
* Present only when `userStatus` is `SUPERVISED_APPROVAL_PENDING` or `SUPERVISED_APPROVAL_DENIED`.
*
* @since 0.0.1
* @example "2024-01-15"
*/
mostRecentApprovalDate?: string;
/**
* Identifier assigned to supervised installs in Google Play for revocation notifications.
*
* Present only when `userStatus` is `SUPERVISED`, `SUPERVISED_APPROVAL_PENDING`, or `SUPERVISED_APPROVAL_DENIED`.
*
* @since 0.0.1
* @example "abc123xyz"
*/
installId?: string;
}

Status values reported by Google Play Age Signals.

export enum UserStatus {
/**
* The user is over 18 and their age has been verified by Google.
*
* @since 0.0.1
*/
Verified = 'VERIFIED',
/**
* The user has a supervised Google Account managed by a guardian.
*
* Use `ageLower` and `ageUpper` to determine the user's age range.
*
* @since 0.0.1
*/
Supervised = 'SUPERVISED',
/**
* The supervised user has pending significant changes awaiting guardian approval.
*
* Use `ageLower` and `ageUpper` to determine the user's age range and `mostRecentApprovalDate`
* to identify the most recent approved change.
*
* @since 0.0.1
*/
SupervisedApprovalPending = 'SUPERVISED_APPROVAL_PENDING',
/**
* The supervised user's guardian denied one or more significant changes.
*
* Use `ageLower` and `ageUpper` to determine the user's age range and `mostRecentApprovalDate`
* to identify the last approved change.
*
* @since 0.0.1
*/
SupervisedApprovalDenied = 'SUPERVISED_APPROVAL_DENIED',
/**
* The user is not verified or supervised in supported regions.
*
* You should prompt the user to resolve their status in the Play Store.
*
* @since 0.0.1
*/
Unknown = 'UNKNOWN',
/**
* All other users return this value.
*
* @since 0.0.1
*/
Empty = 'EMPTY',
}

This page is generated from the plugin’s src/definitions.ts. Re-run the sync when the public API changes upstream.

If you are using Getting Started to plan dashboard and API operations, connect it with API Overview for the implementation detail in API Overview, Introduction for the implementation detail in Introduction, API Keys for the implementation detail in API Keys, Devices for the implementation detail in Devices, and Bundles for the implementation detail in Bundles.