Utilizzando l'API Play Age Signals (beta), accetti i Termini di servizio e ti impegni a rispettare tutte le Norme per gli sviluppatori di Google Play. Per richiedere lo stato e la fascia d'età dell'utente, chiami l'API dalla tua app in fase di runtime. L'API Play Age Signals restituisce dati solo per gli utenti che si trovano in regioni in cui Play è tenuto per legge a fornire dati sulle categorie di età.
Play restituisce una fascia d'età in base alle fasce d'età definite dalle giurisdizioni e dalle regioni applicabili. Le età predefinite che l'API restituisce nelle giurisdizioni e nelle regioni applicabili sono 0-12, 13-15, 16-17 e 18+, ma è possibile ricevere fasce d'età personalizzate. Google Play aggiorna automaticamente gli indicatori dell'età memorizzati nella cache per un utente entro 2-8 settimane dopo il suo compleanno.
Integra l'API Play Age Signals nella tua app
L'API Play Age Signals è supportata su smartphone, dispositivi pieghevoli e tablet con Android 6.0 (livello API 23) e versioni successive. Per integrare l'API Play Age Signals nella tua app, aggiungi la seguente dipendenza al file build.gradle dell'app:
implementation 'com.google.android.play:age-signals:0.0.3'
Richiedi indicatori dell'età
Ecco un esempio di come effettuare una richiesta di indicatori dell'età:
Kotlin
// Create an instance of a manager val ageSignalsManager = AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext()) // Request an age signals check ageSignalsManager .checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener { ageSignalsResult -> // Store the install ID for later... val installId = ageSignalsResult.installId() if (ageSignalsResult.userStatus() == AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED) { // Disallow access... } else { // Do something else if the user is VERIFIED, DECLARED, SUPERVISED, etc. } }
Java
// 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. } });
(Facoltativo) Ricevi fasce d'età personalizzate
Le fasce d'età predefinite che l'API restituisce nelle giurisdizioni e nelle regioni applicabili sono 0-12, 13-15, 16-17 e 18+.
In alternativa, puoi personalizzare le fasce d'età predefinite in base alle età minime della tua app indicandole nella pagina Indicatori dell'età di Google Play Console.
- Vai alla pagina Indicatori dell'età in Play Console.
- Nella scheda Fasce d'età personalizzate, inserisci fino a tre età minime per la tua app. Le età minime devono essere separate da almeno 2 anni e possono essere modificate una volta all'anno.
- Fai clic su Salva.
Le fasce d'età restituite sostituiranno la risposta API predefinita. Ad esempio:
Se imposti un'età minima (15) in Google Play Console:
- Un utente di età compresa tra 0 e 14 anni restituirà
ageLower = 0eageUpper = 14. - Un utente di età pari o superiore a 15 anni restituirà
ageLower = 15.
- Un utente di età compresa tra 0 e 14 anni restituirà
Se imposti due età minime (13 e 17):
- Un utente di età compresa tra 0 e 12 anni restituirà
ageLower = 0eageUpper = 12. - Un utente di età compresa tra 13 e 16 anni restituirà
ageLower = 13eageUpper = 16. - Un utente di età pari o superiore a 17 anni restituirà
ageLower = 17.
- Un utente di età compresa tra 0 e 12 anni restituirà
Se imposti tre età minime (11, 13 e 15):
- Un utente di età compresa tra 0 e 10 anni restituirà
ageLower = 0eageUpper = 10. - Un utente di 11 o 12 anni restituirà
ageLower = 11eageUpper = 12. - Un utente di 13 o 14 anni restituirà
ageLower = 13eageUpper = 14. - Un utente di età pari o superiore a 15 anni restituirà
ageLower = 15.
- Un utente di età compresa tra 0 e 10 anni restituirà
Risposte dell'API Age Signals
La risposta dell'API Play Age Signals (beta) include i seguenti campi e valori. I valori sono soggetti a modifica. Se vuoi i valori più recenti, richiedi una risposta dell'API all'apertura dell'app. È tua responsabilità fornire esperienze adatte all'età utilizzando questi indicatori.
| Campo di risposta | Valori | Descrizione |
|---|---|---|
userStatus |
VERIFICATO | Google ha verificato l'età dell'utente utilizzando un metodo commercialmente ragionevole, ad esempio un documento di identità ufficiale, una carta di credito o la stima dell'età facciale. Se userStatus è VERIFIED, puoi ignorare gli altri campi.
Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente.
|
| DICHIARATO | L'età dell'utente è stata dichiarata dall'utente, dal genitore o dal tutore legale.
Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente. |
|
| SUPERVISED | L'utente ha un Account Google supervisionato e gestito da un genitore che imposta la sua età.
Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente.
Utilizza mostRecentApprovalDate per determinare l'ultima modifica significativa approvata. |
|
| SUPERVISED_APPROVAL_PENDING | L'utente ha un Account Google supervisionato e il genitore supervisore non ha ancora approvato una o più modifiche significative in attesa.
Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente.
Utilizza mostRecentApprovalDate per determinare l'ultima modifica significativa approvata. |
|
| SUPERVISED_APPROVAL_DENIED | L'utente ha un Account Google supervisionato e il genitore supervisore ha negato l'approvazione per una o più modifiche significative.
Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente.
Utilizza mostRecentApprovalDate per determinare l'ultima modifica significativa approvata. |
|
| SCONOSCIUTO | L'età dell'utente è sconosciuta e l'utente si trova in una giurisdizione o regione applicabile.
Applicabile solo agli stati degli Stati Uniti: per ottenere un indicatore dell'età da Google Play, chiedi all'utente di visitare il Play Store per risolvere il suo stato. |
|
null |
O l'utente non si trova nelle giurisdizioni e nelle regioni applicabili.
Oppure l'utente non condivide la sua età con le app. |
|
ageLower |
0 to 18 | Il limite inferiore (inclusivo) della fascia d'età di un utente supervisionato.
Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente. |
null |
userStatus è sconosciuto o null. |
|
ageUpper |
2 to 18 | Il limite superiore (inclusivo) della fascia d'età di un utente supervisionato.
Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente. |
null |
O userStatus è supervisionato e l'età attestata dal genitore dell'utente è maggiore di 18 anni.
Oppure userStatus è sconosciuto o null. |
|
mostRecentApprovalDate |
Timestamp | La data di effective from della modifica significativa più recente approvata. Quando un'app viene installata, viene utilizzata la data della modifica significativa più recente precedente all'installazione. |
null |
O userStatus è supervisionato e non è stata inviata alcuna modifica significativa.
Oppure userStatus è verificato, sconosciuto o null. |
|
installID |
ID alfanumerico generato da Google Play | Un ID assegnato alle installazioni degli utenti supervisionati da Google Play, utilizzato per inviarti una notifica di approvazione dell'app revocata. Consulta la documentazione relativa alle approvazioni delle app revocate. |
null |
userStatus è verificato, sconosciuto o null. |
Risposte di esempio per gli utenti in Brasile
In Brasile, userStatus può essere solo DECLARED, UNKNOWN o null.
Per un utente che ha dichiarato la propria età e la condivide con le app, riceverai quanto segue:
userStatussaràAgeSignalsVerificationStatus.DECLARED.ageLowersarà un numero (ad esempio 13).ageUppersarà un numero onull(ad esempio 15).- Gli altri campi di risposta saranno
null.
Per un utente di cui non è nota l'età, riceverai quanto segue:
userStatussaràAgeSignalsVerificationStatus.UNKNOWN.- Gli altri campi di risposta saranno
null.
Per un utente la cui età non è condivisa con le app, riceverai quanto segue:
userStatussarànull.- Gli altri campi di risposta saranno
null.
Lo stato dell'utente può diventare DECLARED una volta che l'età dell'utente è disponibile per la condivisione.
Risposte di esempio per gli utenti negli stati degli Stati Uniti
Negli stati degli Stati Uniti interessati, userStatus può essere VERIFIED,
SUPERVISED, SUPERVISED_APPROVAL_PENDING,
SUPERVISED_APPROVAL_DENIED, UNKNOWN, o
null.
Per un utente verificato, riceverai quanto segue:
userStatussaràAgeSignalsVerificationStatus.VERIFIED.ageLowersarà un numero (ad esempio 18).ageUppersarà un numero onull(ad esempionull).- Gli altri campi di risposta saranno
null.
Per un utente supervisionato, riceverai quanto segue:
userStatussaràAgeSignalsVerificationStatus.SUPERVISED.ageLowersarà un numero (ad esempio 13).ageUppersarà un numero onull(ad esempio 15).mostRecentApprovalDatesarà un oggetto data Java (ad esempio2026-01-01) onull(se non è stata approvata alcuna modifica significativa).installIDsarà un ID alfanumerico generato da Google Play (ad esempio550e8400-e29b-41d4-a716-446655441111).
Per un utente supervisionato con un'approvazione di una modifica significativa in attesa, riceverai quanto segue:
userStatussaràAgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING.ageLowersarà un numero (ad esempio 13).ageUppersarà un numero onull(ad esempio 15).mostRecentApprovalDatesarà un oggetto data Java (ad esempio2026-01-01) onull(se non è stata approvata alcuna modifica significativa).installIDsarà un ID alfanumerico generato da Google Play (ad esempio550e8400-e29b-41d4-a716-446655441111).
Gestisci i codici di errore dell'API
Se la tua app effettua una richiesta all'API Play Age Signals e la chiamata non va a buon fine, l'app riceve un codice di errore. Questi errori possono verificarsi per vari motivi, ad esempio perché l'app Play Store è obsoleta.
Strategia di ripetizione dei tentativi
Nelle situazioni in cui l'utente è in sessione, ti consigliamo di implementare una strategia di ripetizione dei tentativi con un numero massimo di tentativi come condizione di uscita, in modo che l'errore interrompa l'esperienza utente il meno possibile.
| Valore numerico del codice di errore | Codice di errore | Descrizione | Ripetibile |
|---|---|---|---|
| -1 | API_NOT_AVAILABLE | L'API Play Age Signals non è disponibile. La versione dell'app Play Store installata sul dispositivo potrebbe essere obsoleta. Possibile soluzione
|
Sì |
| -2 | PLAY_STORE_NOT_FOUND | Non è stata trovata alcuna app Play Store sul dispositivo. Chiedi all'utente di installare o attivare l'app Play Store. | Sì |
| -3 | NETWORK_ERROR | Non è stata trovata alcuna rete disponibile. Chiedi all'utente di verificare la connessione. | Sì |
| -4 | PLAY_SERVICES_NOT_FOUND | Play Services non è disponibile o la sua versione è troppo vecchia. Chiedi all'utente di installare, aggiornare o attivare Play Services. | Sì |
| -5 | CANNOT_BIND_TO_SERVICE | Il binding al servizio nel Play Store non è riuscito. Ciò può essere dovuto a una vecchia versione del Play Store installata sul dispositivo o alla memoria del dispositivo sovraccarica. Chiedi all'utente di aggiornare l'app Play Store. Riprova con un backoff esponenziale. | Sì |
| -6 | PLAY_STORE_VERSION_OUTDATED | È necessario aggiornare l'app Play Store. Chiedi all'utente di aggiornare l'app Play Store. | Sì |
| -7 | PLAY_SERVICES_VERSION_OUTDATED | È necessario aggiornare Play Services. Chiedi all'utente di aggiornare Play Services. | Sì |
| -8 | CLIENT_TRANSIENT_ERROR | Si è verificato un errore temporaneo nel dispositivo client. Implementa una strategia di ripetizione dei tentativi con un numero massimo di tentativi come condizione di uscita. Se il problema persiste, chiedi all'utente di riprovare più tardi. | Sì |
| -9 | APP_NOT_OWNED | L'app non è stata installata da Google Play. Chiedi all'utente di scaricare la tua app da Google Play. | No |
| -10 | SDK_VERSION_OUTDATED | La versione dell'SDK Play Age Signals non è più supportata. Chiedi all'utente di aggiornare la tua app a una versione successiva che utilizzi una versione recente dell'SDK Play Age Signals. | No |
| -100 | INTERNAL_ERROR | Errore interno sconosciuto. Implementa una strategia di ripetizione dei tentativi con un numero massimo di tentativi come condizione di uscita. Se il problema persiste, chiedi all'utente di riprovare più tardi. Se l'operazione continua a non andare a buon fine, contatta l'assistenza per gli sviluppatori Google Play, includi API Play Age Signals nell'oggetto e fornisci quanti più dettagli tecnici possibili (ad esempio una segnalazione di bug). | No |