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 restituite dall'API nelle giurisdizioni e nelle regioni applicabili sono 0-12, 13-15, 16-17 e 18+, ma possono variare in base ai requisiti regionali.

Integrare l'API Play Age Signals nella tua app

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.1-beta01'

Richiedere indicatori dell'età

Ecco un esempio di come effettuare una richiesta di indicatori dell'età:

// 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.
          }
        });

Gli indicatori dell'età vengono memorizzati da Google Play sul dispositivo per ogni utente. Quando un utente con un Account Google supervisionato entra in una nuova fascia d'età, Google Play aggiorna automaticamente gli indicatori di età memorizzati nella cache per quell'utente entro 2-8 settimane dopo il suo compleanno.

(Facoltativo) Ricevere fasce d'età personalizzate

Le fasce d'età predefinite restituite dall'API nelle giurisdizioni e nelle regioni applicabili sono 0-12, 13-15, 16-17 e 18+. Queste fasce potrebbero cambiare in futuro in base ai requisiti locali.

In alternativa, per personalizzare le fasce d'età in base alle età minime della tua app, puoi fornire queste età minime per la tua app nella pagina Age Signals di Google Play Console. L'API Age Signals restituisce le fasce d'età personalizzate. Ad esempio, se fornisci età minime di 9, 15 e 17 anni, un utente di 14 anni rientrerà nella fascia di età 10-15 anni. Le età minime devono essere distanti almeno 2 anni e possono essere modificate una volta all'anno.

Per personalizzare le fasce d'età restituite dall'API Age Signals, puoi fornire le età minime per la tua app:

  1. Vai alla pagina Indicatori di età in Play Console.
  2. Nella scheda Età minime per l'app, inserisci fino a tre età minime per la tua app.
  3. Fai clic su Salva.

Risposte agli indicatori dell'età

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 API all'apertura dell'app. È tua responsabilità fornire esperienze adatte all'età utilizzando questi indicatori.

Campo di risposta Valori Descrizione
userStatus VERIFICATO L'utente ha più di 18 anni. 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à tramite il volto.
SUPERVISIONATI L'utente ha un Account Google supervisionato gestito da un genitore che imposta la sua età. Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente.
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'utente non è verificato o supervisionato nelle giurisdizioni e nelle regioni applicabili. Questi utenti potrebbero avere più o meno di 18 anni. Per ottenere un indicatore dell'età da Google Play, chiedi all'utente di visitare il Play Store per risolvere il problema.
Vuoto (valore vuoto) Tutti gli altri utenti restituiscono questo valore.
ageLower Da 0 a 18 Il limite inferiore (incluso) della fascia d'età di un utente supervisionato. Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente.
Vuoto (valore vuoto)
userStatus è sconosciuto o vuoto.
ageUpper Da 2 a 18 Il limite superiore (incluso) della fascia d'età di un utente supervisionato. Utilizza ageLower e ageUpper per determinare la fascia d'età dell'utente.
Vuoto (valore vuoto) O il userStatus è supervisionato e l'età attestata del genitore dell'utente è superiore a 18 anni. Oppure il userStatus è verificato, sconosciuto o vuoto.
mostRecentApprovalDate Datestamp La data effective from dell'ultima modifica significativa approvata. Quando viene installata un'app, viene utilizzata la data dell'ultima modifica significativa precedente all'installazione.
Vuoto (valore vuoto) O il userStatus è supervisionato e non è stata inviata alcuna modifica significativa. Or userStatus is verified, unknown, or empty.
installID ID alfanumerico generato da Google Play. Un ID assegnato alle installazioni degli utenti supervisionati da Google Play, utilizzato per comunicarti l'approvazione revocata dell'app. Consulta la documentazione relativa alle approvazioni delle app revocate.
Vuoto (valore vuoto) userStatus è verificato, sconosciuto o vuoto.

Gestire i codici di errore dell'API

Se la tua app effettua una richiesta API Play Age Signals (beta) e la chiamata non va a buon fine, la tua app riceve un codice di errore. Questi errori possono verificarsi per vari motivi, ad esempio perché l'app Play Store è obsoleta.

Strategia di ripetizione

Nelle situazioni in cui l'utente è in sessione, ti consigliamo di implementare una strategia di nuovi 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 Riavviabile
-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 il Play Store.
-2 PLAY_STORE_NOT_FOUND Non è stata trovata alcuna app Play Store sul dispositivo. Chiedi all'utente di installare o attivare il Play Store.
-3 NETWORK_ERROR Nessuna rete disponibile trovata. Chiedi all'utente di verificare la presenza di una connessione.
-4 PLAY_SERVICES_NOT_FOUND Play Services non è disponibile o la sua versione è troppo vecchia. Chiedi all'utente di installare, aggiornare o attivare Google 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 L'app Play Store deve essere aggiornata. Chiedi all'utente di aggiornare l'app Play Store.
-7 PLAY_SERVICES_VERSION_OUTDATED È necessario aggiornare Google 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 nuovi 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
-100 INTERNAL_ERROR Errore interno sconosciuto. Implementa una strategia di nuovi 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 non va a buon fine in modo coerente, contatta l'assistenza per gli sviluppatori Google Play, includi l'API Play Age Signals nell'oggetto e fornisci quanti più dettagli tecnici possibili (ad esempio una segnalazione di bug). No