Utilizzare l'API Play Age Signals (beta)

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.

  1. Vai alla pagina Indicatori dell'età in Play Console.
  2. 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.
  3. 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 = 0 e ageUpper = 14.
    • Un utente di età pari o superiore a 15 anni restituirà ageLower = 15.
  • Se imposti due età minime (13 e 17):

    • Un utente di età compresa tra 0 e 12 anni restituirà ageLower = 0 e ageUpper = 12.
    • Un utente di età compresa tra 13 e 16 anni restituirà ageLower = 13 e ageUpper = 16.
    • Un utente di età pari o superiore a 17 anni restituirà ageLower = 17.
  • Se imposti tre età minime (11, 13 e 15):

    • Un utente di età compresa tra 0 e 10 anni restituirà ageLower = 0 e ageUpper = 10.
    • Un utente di 11 o 12 anni restituirà ageLower = 11 e ageUpper = 12.
    • Un utente di 13 o 14 anni restituirà ageLower = 13 e ageUpper = 14.
    • Un utente di età pari o superiore a 15 anni restituirà ageLower = 15.

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:

  • userStatus sarà AgeSignalsVerificationStatus.DECLARED.
  • ageLower sarà un numero (ad esempio 13).
  • ageUpper sarà un numero o null (ad esempio 15).
  • Gli altri campi di risposta saranno null.

Per un utente di cui non è nota l'età, riceverai quanto segue:

  • userStatus sarà AgeSignalsVerificationStatus.UNKNOWN.
  • Gli altri campi di risposta saranno null.

Per un utente la cui età non è condivisa con le app, riceverai quanto segue:

  • userStatus sarà 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:

  • userStatus sarà AgeSignalsVerificationStatus.VERIFIED.
  • ageLower sarà un numero (ad esempio 18).
  • ageUpper sarà un numero o null (ad esempio null).
  • Gli altri campi di risposta saranno null.

Per un utente supervisionato, riceverai quanto segue:

  • userStatus sarà AgeSignalsVerificationStatus.SUPERVISED.
  • ageLower sarà un numero (ad esempio 13).
  • ageUpper sarà un numero o null (ad esempio 15).
  • mostRecentApprovalDate sarà un oggetto data Java (ad esempio 2026-01-01) o null (se non è stata approvata alcuna modifica significativa).
  • installID sarà un ID alfanumerico generato da Google Play (ad esempio 550e8400-e29b-41d4-a716-446655441111).

Per un utente supervisionato con un'approvazione di una modifica significativa in attesa, riceverai quanto segue:

  • userStatus sarà AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING.
  • ageLower sarà un numero (ad esempio 13).
  • ageUpper sarà un numero o null (ad esempio 15).
  • mostRecentApprovalDate sarà un oggetto data Java (ad esempio 2026-01-01) o null (se non è stata approvata alcuna modifica significativa).
  • installID sarà un ID alfanumerico generato da Google Play (ad esempio 550e8400-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
  • Chiedi all'utente di aggiornare l'app Play Store.
-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.
-3 NETWORK_ERROR Non è stata trovata alcuna rete disponibile. Chiedi all'utente di verificare la connessione.
-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.
-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.
-6 PLAY_STORE_VERSION_OUTDATED È necessario aggiornare l'app Play Store. Chiedi all'utente di aggiornare l'app Play Store.
-7 PLAY_SERVICES_VERSION_OUTDATED È necessario aggiornare Play Services. Chiedi all'utente di aggiornare Play Services.
-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.
-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