Si usas la API de Play Age Signals (beta), aceptas las condiciones del servicio y te comprometes a cumplir con todas las políticas para desarrolladores de Google Play. Para solicitar el estado y el rango etario del usuario, llama a la API desde tu app en el tiempo de ejecución. La API de Play Age Signals solo devuelve datos de los usuarios que se encuentran en regiones en las que Play está obligado por ley a proporcionar datos de categorías de edad.
Play devuelve un rango de edad basado en los rangos de edad definidos por las regiones y jurisdicciones aplicables. Las edades predeterminadas que devuelve la API en las jurisdicciones y regiones aplicables son de 0 a 12, de 13 a 15, de 16 a 17 y mayores de 18 años, pero pueden cambiar según los requisitos regionales.
Integra la API de Play Age Signals en tu app
Para integrar la API de Play Age Signals en tu app, agrega la siguiente dependencia al archivo build.gradle
de tu app:
implementation 'com.google.android.play:age-signals:0.0.1-beta01'
Solicita indicadores de edad
A continuación, se muestra un ejemplo de cómo realizar una solicitud de indicadores de edad:
// Create an instance of a manager
AgeSignalsManager ageSignalsManager =
AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext());
// Request an age signals check
ageSignalsManager
.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(
ageSignalsResult -> {
// Store the install ID for later...
String installId = ageSignalsResult.installId();
if (ageSignalsResult
.userStatus()
.equals(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED)) {
// Disallow access ...
} else {
// Do something else if the user is SUPERVISED, VERIFIED, etc.
}
});
Google Play almacena los indicadores de edad en el dispositivo para cada usuario. Cuando un usuario con una Cuenta de Google supervisada alcanza una nueva edad, Google Play actualiza automáticamente los indicadores de edad almacenados en caché para ese usuario en un plazo de 2 a 8 semanas después de su cumpleaños.
(Opcional) Recibe rangos de edad personalizados
Los rangos etarios predeterminados que la API devuelve en las jurisdicciones y regiones aplicables son de 0 a 12, de 13 a 15, de 16 a 17 y mayores de 18 años. Estos rangos pueden cambiar en el futuro según los requisitos locales.
Como alternativa, para personalizar los rangos de edad según las edades mínimas de tu app, puedes proporcionar estas edades mínimas en la página Age signals de Google Play Console. La API de Age Signals devuelve los rangos de edad personalizados. Por ejemplo, si proporcionas edades mínimas de 9, 15 y 17 años, un usuario de 14 años se incluiría en el rango de edad de 10 a 15 años. Las edades mínimas deben tener una diferencia de al menos 2 años y se pueden cambiar una vez al año.
Para personalizar los rangos de edad que devuelve la API de Age Signals, puedes proporcionar edades mínimas para tu app:
- Ve a la página Indicadores de edad en Play Console.
- En la pestaña Edades mínimas de la app, ingresa hasta tres edades mínimas para tu app.
- Haz clic en Guardar.
Respuestas de indicadores de edad
La respuesta de la API de Play Age Signals (beta) incluye los siguientes campos y valores. Los valores están sujetos a cambios. Si quieres obtener los valores más recientes, solicita una respuesta de la API cuando se abra tu app. Eres responsable de proporcionar experiencias adecuadas para la edad con estos indicadores.
Campo de respuesta | Valores | Descripción |
---|---|---|
userStatus |
SE VERIFICÓ | El usuario es mayor de 18 años. Google verificó la edad del usuario con un método comercialmente razonable, como un documento de identidad emitido por el Gobierno, una tarjeta de crédito o una estimación facial de la edad. |
SUPERVISADO | El usuario tiene una Cuenta de Google supervisada que administra su madre o padre, quien establece su edad.
Usa ageLower y ageUpper para determinar el rango etario del usuario. |
|
SUPERVISED_APPROVAL_PENDING | El usuario tiene una Cuenta de Google supervisada, y su madre o padre supervisor aún no aprobó uno o más cambios significativos pendientes.
Usa ageLower y ageUpper para determinar el rango etario del usuario.
Usa mostRecentApprovalDate para determinar el último cambio significativo que se aprobó. |
|
SUPERVISED_APPROVAL_DENIED | El usuario tiene una Cuenta de Google supervisada y su madre o padre supervisor rechazó la aprobación de uno o más cambios significativos.
Usa ageLower y ageUpper para determinar el rango etario del usuario.
Usa mostRecentApprovalDate para determinar el último cambio significativo que se aprobó. |
|
DESCONOCIDO | El usuario no está verificado ni supervisado en las regiones y jurisdicciones aplicables. Estos usuarios pueden ser mayores o menores de 18 años. Para obtener un indicador de edad de Google Play, pídele al usuario que visite Play Store para resolver su estado. | |
Vacío (un valor en blanco) | Todos los demás usuarios devuelven este valor. | |
ageLower |
0 a 18 | Es el límite inferior (inclusivo) del rango de edad de un usuario supervisado.
Usa ageLower y ageUpper para determinar el rango etario del usuario. |
Vacío (un valor en blanco) |
userStatus es desconocido o está vacío. |
|
ageUpper |
2 a 18 | Es el límite superior (inclusivo) del rango de edad de un usuario supervisado.
Usa ageLower y ageUpper para determinar el rango etario del usuario. |
Vacío (un valor en blanco) | Cualquiera de las siguientes opciones: El userStatus está supervisado y la edad certificada por la madre o el padre del usuario es mayor de 18 años.
O el userStatus está verificado, es desconocido o está vacío. |
|
mostRecentApprovalDate |
Marca de fecha | Es la fecha effective from del cambio significativo más reciente que se aprobó. Cuando se instala una app, se usa la fecha del cambio significativo más reciente anterior a la instalación. |
Vacío (un valor en blanco) | O bien el userStatus está supervisado y no se envió ningún cambio significativo.
O userStatus se verifica, se desconoce o está vacío. |
|
installID |
Es un ID alfanumérico generado por Play. | Es un ID que Google Play asigna a las instalaciones de usuarios supervisados y que se usa para notificarte sobre la revocación de la aprobación de la app. Revisa la documentación sobre las aprobaciones de apps revocadas. |
Vacío (un valor en blanco) | userStatus se verificó, se desconoce o está vacío. |
Cómo controlar los códigos de error de la API
Si tu app realiza una solicitud a la API de Play Age Signals (beta) y la llamada falla, recibirá un código de error. Estos errores pueden ocurrir por varios motivos, como que la app de Play Store esté desactualizada.
Estrategia de reintentos
Cuando el usuario está en una sesión, recomendamos implementar una estrategia de reintento con una cantidad máxima de intentos como condición de salida para que el error interrumpa la experiencia del usuario lo menos posible.
Valor numérico del código de error | Código de error | Descripción | Se puede volver a intentar |
---|---|---|---|
-1 | API_NOT_AVAILABLE | La API de Play Age Signals no está disponible. Es posible que la versión de la app de Play Store instalada en el dispositivo sea antigua. Posible solución
|
Sí |
-2 | PLAY_STORE_NOT_FOUND | No se encontró ninguna app de Play Store en el dispositivo. Pídele al usuario que instale o habilite Play Store. | Sí |
-3 | NETWORK_ERROR | No se encontró ninguna red disponible. Pídele al usuario que compruebe la conexión. | Sí |
-4 | PLAY_SERVICES_NOT_FOUND | Los Servicios de Play no están disponibles o su versión es demasiado antigua. Pídele al usuario que instale o actualice los Servicios de Play. | Sí |
-5 | CANNOT_BIND_TO_SERVICE | No se pudo realizar la vinculación al servicio de Play Store. Esto puede deberse a que tienes instalada una versión anterior de Play Store en el dispositivo o a que la memoria del dispositivo está sobrecargada. Pídele al usuario que actualice la app de Play Store. Vuelve a intentarlo con una retirada exponencial. | Sí |
-6 | PLAY_STORE_VERSION_OUTDATED | La app de Play Store debe actualizarse. Pídele al usuario que actualice la app de Play Store. | Sí |
-7 | PLAY_SERVICES_VERSION_OUTDATED | Los Servicios de Play deben actualizarse. Pídele al usuario que actualice los Servicios de Play. | Sí |
-8 | CLIENT_TRANSIENT_ERROR | Se produjo un error transitorio en el dispositivo del cliente. Implementa una estrategia de reintento con una cantidad máxima de intentos como condición de salida. Si el problema persiste, pídele al usuario que vuelva a intentarlo más tarde. | Sí |
-9 | APP_NOT_OWNED | Google Play no instaló la app. Pídele al usuario que obtenga tu app desde Google Play. | No |
-100 | INTERNAL_ERROR | Error interno desconocido. Implementa una estrategia de reintento con una cantidad máxima de intentos como condición de salida. Si el problema persiste, pídele al usuario que vuelva a intentarlo más tarde. Si falla de forma constante, comunícate con el equipo de asistencia para desarrolladores de Google Play, incluye la API de Play Age Signals en el asunto y proporciona la mayor cantidad posible de detalles técnicos (como un informe de errores). | No |