Autorizzazioni utilizzate solo nei gestori predefiniti

Diverse funzioni principali del dispositivo, come la lettura dei registri chiamate e l'invio di SMS, dipendono dall'accesso a informazioni sensibili dell'utente. Per proteggere la privacy degli utenti e offrire agli utenti maggiore controllo sulle informazioni fornite alle app sul loro dispositivo, Google Play limita l'accesso delle app ai gruppi di autorizzazioni correlati alle chiamate e ai messaggi.

Se distribuisci la tua app sul Google Play Store e vuoi accedere a informazioni sensibili dell'utente relative ai registri chiamate e agli SMS, l'app deve essere registrata come gestore predefinito dell'utente per la funzione principale del dispositivo correlata a tale autorizzazione, a meno che l'app non soddisfi uno dei casi di eccezione visualizzati nel Centro assistenza Play Console. Ad esempio, per accedere alle autorizzazioni relative alle chiamate, la tua app deve essere registrata come gestore predefinito Telefono o Assistente dell'utente, a meno che la tua app non soddisfi un caso di eccezione.

Questa guida fornisce una breve panoramica del modo in cui gli utenti accedono ai gestori predefiniti sui dispositivi basati su Android. La guida esamina quindi i requisiti che un'app deve soddisfare prima di diventare idonea come gestore predefinito. Infine, la guida illustra la procedura per ricevere il consenso dell'utente per diventare un gestore predefinito.

Per scoprire di più sui gestori predefiniti e su come gestire le autorizzazioni in un'app disponibile sul Play Store, consulta la guida alle norme relative alle autorizzazioni.

Visualizza e modifica l'insieme di gestori predefiniti

Android consente agli utenti di impostare gestori predefiniti per diversi casi d'uso principali, ad esempio per effettuare chiamate, inviare SMS e fornire funzionalità di tecnologie per la disabilità.

L'app Impostazioni su Android include una schermata che mostra agli utenti quali app sono attualmente gestori predefiniti delle funzioni principali del dispositivo, come mostrato nella Figura 1. Da questa schermata, gli utenti possono modificare il gestore predefinito per una determinata funzione, come mostrato nella Figura 2.

Acquisizione schermo delle impostazioni predefinite delle app
Figura 1. Schermata Impostazioni di sistema che mostra l'elenco dei gestori predefiniti su un dispositivo.
Acquisizione schermo delle impostazioni predefinite dell'app SMS
Figura 2. Schermata Impostazioni di sistema che mostra come modificare il gestore predefinito di SMS.

Seguire i requisiti per i gestori predefiniti

Data le informazioni sensibili dell'utente a cui un'app accede quando funge da gestore predefinito, la tua app non può diventare un gestore predefinito a meno che non soddisfi i seguenti requisiti della scheda del Play Store e delle funzionalità di base:

  • L'app deve essere in grado di eseguire la funzionalità per cui è un gestore predefinito. Ad esempio, un gestore predefinito di SMS deve poter inviare messaggi.
  • L'app deve fornire norme sulla privacy.
  • L'app deve indicare chiaramente la funzionalità di base nella descrizione del Play Store. Ad esempio, un gestore predefinito Telefono dovrebbe descrivere nella descrizione le sue funzionalità relative ai telefoni.
  • L'app deve dichiarare le autorizzazioni appropriate per il relativo caso d'uso. Per ulteriori dettagli sulle autorizzazioni che puoi dichiarare in qualità di gestore, consulta le linee guida sull'utilizzo di gruppi di autorizzazioni SMS o registro chiamate nel Centro assistenza Play Console.
  • La tua app deve chiedere di diventare un gestore predefinito prima di richiedere le autorizzazioni associate all'essere quel gestore. Ad esempio, un'app deve richiedere di diventare il gestore predefinito di SMS prima di richiedere l'autorizzazione READ_SMS.

Dopo aver verificato che la tua app soddisfi tutti i requisiti necessari per diventare un gestore predefinito, puoi aggiungere la logica per visualizzare la finestra di dialogo mostrata nella Figura 3. Questa finestra di dialogo chiede all'utente di impostare l'app come gestore predefinito per un caso d'uso specifico.

Acquisizione schermo che mostra una finestra di dialogo rivolta all'utente
Figura 3. Messaggio che chiede all'utente se vuole modificare il gestore predefinito di SMS del dispositivo.

Il codice di esempio seguente mostra la logica necessaria per visualizzare una richiesta che chiedi all'utente di modificare il gestore predefinito di SMS del dispositivo:

Kotlin

val setSmsAppIntent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)
setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName)
startActivityForResult(setSmsAppIntent, your-result-code)

Java

Intent setSmsAppIntent =
        new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,
        getPackageName());
startActivityForResult(setSmsAppIntent, your-result-code);