Massimizza la praticità per gli utenti attivando la condivisione delle credenziali senza problemi tra le tue app e i tuoi siti web. Quando più siti web e app per Android condividono un backend per la gestione dell'account, questa funzionalità consente agli utenti di salvare le credenziali una volta e di farle suggerire automaticamente su qualsiasi sito web o app per Android collegata.
Esistono due metodi supportati per configurare la condivisione delle credenziali:
- Play Console: consigliato per la maggior parte degli sviluppatori per la configurazione della condivisione delle credenziali con le app per Android. Questo metodo ti consente di configurare la condivisione delle credenziali senza dover rilasciare una nuova versione dell'app. Tieni presente che, anche se utilizzi Play Console, devi comunque pubblicare un file
assetlinks.json
valido sul tuo sito web. - Digital Asset Links (DAL): adatti per casi d'uso avanzati, come supportare più app o domini con configurazioni più complesse.
Best practice
Per un'esperienza utente e una sicurezza ottimali, implementa la condivisione delle credenziali senza interruzioni tra questi touchpoint:
- Modulo di accesso: attiva la compilazione automatica delle credenziali.
- Modulo di registrazione: archivia in modo sicuro le nuove credenziali per utilizzarle su più piattaforme.
- Modulo di modifica della password: sincronizza gli aggiornamenti delle password su tutte le piattaforme.
- Modulo di reimpostazione della password: consenti la reimpostazione di una singola password per aggiornare tutte le piattaforme.
- Domini webview: estendi la condivisione delle credenziali ai domini webview all'interno della tua app che gestiscono la gestione dell'account (form di accesso, registrazione, modifica o reimpostazione della password dell'host).
- App per Android
Questo approccio crea un sistema di gestione delle credenziali unificato, migliorando sia la praticità che la sicurezza per l'utente.
Quando progetti i siti web per la gestione dell'account, ti consigliamo di seguire queste best practice per i siti di gestione dell'account:
- Disegna il modulo di registrazione in conformità con le best practice
- Disegna il modulo di accesso in conformità con le best practice
- Aggiungere un URL noto per la modifica delle password
Quando progetti le tue app per Android, ti consigliamo di integrarle con Gestore delle credenziali Android.
Configurare la condivisione delle credenziali utilizzando Play Console
Ora puoi attivare la condivisione fluida delle credenziali direttamente da Play Console senza pubblicare una nuova versione della tua app per Android. Questo metodo semplifica la procedura gestendo le configurazioni di condivisione delle credenziali tramite l'interfaccia di Play Console.
Prerequisiti
Prima di configurare la condivisione delle credenziali utilizzando Play Console, assicurati di disporre di:
- Le autorizzazioni di Play Console necessarie per accedere alle sezioni Link diretti e Configurazione app. Se non sei il proprietario dell'account, chiedi all'amministratore di Play Console di concederti l'accesso appropriato.
- Possibilità di pubblicare un file
/.well-known/assetlinks.json
su ogni rispettivo dominio, seguendo la sintassi di Digital Asset Links (DAL).
Attivare la condivisione delle credenziali per un nuovo dominio
Per configurare la condivisione delle credenziali senza problemi in Play Console per un nuovo dominio, segui questi passaggi:
- Apri Play Console e vai alla pagina Link diretti (Aumenta gli utenti > Link diretti).
- Nella scheda Configurazione app, fai clic su Aggiungi dominio.
- Inserisci il dominio del tuo sito web.
- Attiva l'opzione Attiva la condivisione delle credenziali.
- Copia il file JSON generato e pubblicalo nella posizione specificata
(
https://YOUR_DOMAIN/.well-known/assetlinks.json
in base al protocollo), o aggiungi le informazioni pertinenti al file assetlinks.json esistente. - Fai clic su Crea associazione con sito web.
Se l'operazione riesce, tornerai alla pagina Link diretti.
Attivare la condivisione delle credenziali per un dominio esistente
Per configurare la condivisione delle credenziali senza problemi in Play Console per un dominio esistente: volgi i seguenti passaggi:
- Seleziona la scheda Configurazione app.
- Nella sezione Domini, fai clic su Attiva nella colonna Condivisione delle credenziali in Configurazione app.
- Copia il file JSON generato e pubblicalo nella posizione specificata
(o aggiungi le informazioni pertinenti al file
assetlinks.json
esistente). - Fai clic su Attiva la condivisione delle credenziali.
Se l'operazione riesce, tornerai alla pagina Link diretti.
Configurare la condivisione delle credenziali utilizzando solo i link ai asset digitali (DAL)
Per configurazioni complesse che coinvolgono più app o siti web, utilizza i link ai asset digitali (DAL) per configurare manualmente la condivisione delle credenziali.
Prerequisiti
Prima di configurare la condivisione delle credenziali senza problemi, assicurati di avere quanto segue per ogni piattaforma:
Per ogni app per Android:
- L'ID applicazione Android, come dichiarato nel file
build.gradle
dell'app. - Le impronte SHA256 del certificato di firma.
- (Consigliato) Accesso utente implementato con l'API Gestore delle credenziali.
Per ogni sito web:
- Possibilità di pubblicare un file
/.well-known/assetlinks.json
su ciascun rispettivo dominio, seguendo la sintassi di Digital Asset Links (DAL). - Tutti i domini di gestione dell'account (form di accesso, registrazione, modifica o reimpostazione della password) devono essere accessibili tramite HTTPS.
Attivare la condivisione delle credenziali senza problemi tra app e siti web Android
Per configurare la condivisione delle credenziali senza problemi tra app e siti web, crei e pubblichi elenchi di dichiarazioni di link di asset digitali che dichiarano quali entità (siti web o app per Android) sono autorizzate a condividere le credenziali.
Per dichiarare una relazione di condivisione delle credenziali:
Crea un file
assetlinks.json
con istruzioni che rimandano al sito web e all'app per Android, seguendo la sintassi dell'elenco di istruzioni DAL:[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]
dove
URL
è l'URL del tuo sito,APP_ID
è il tuo ID applicazione Android eSHA_HEX_VALUE
è l'impronta SHA256 del certificato di firma della tua app Android.Il campo
relation
descrive la relazione dichiarata. Per dichiarare che le app e i siti condividono le credenziali di accesso, specifica le relazioni comedelegate_permission/common.get_login_creds
. Scopri di più sulle stringhe di relazione nelle DAL.Il campo
target
è un oggetto che specifica la risorsa a cui si applica la dichiarazione.I seguenti campi identificano un sito web:
namespace
web
site
L'URL del sito web, nel formato
https://domain[:optional_port
]; ad esempio, https://www.example.com.domain
deve essere un nome completo eoptional_port
deve essere omesso quando si utilizza la porta 443 per HTTPS.Un target
site
può essere solo un dominio principale: non puoi limitare l'associazione di un'app a una sottodirectory specifica. Non includere un percorso nell'URL, ad esempio una barra finale.I sottodomini non sono considerati corrispondenti: in altre parole, se specifichi
domain
come www.example.com, il dominio www.counter.example.com non è associato alla tua app.I seguenti campi identificano un'app per Android:
spazio dei nomi
android_app
package_name
Il nome del pacchetto dichiarato nel file manifest dell'app. Ad esempio, com.example.android
sha256_cert_fingerprints
Le impronte SHA256 del certificato di firma della tua app.
Ospita il file JSON Digital Asset Links nella seguente posizione sui domini di accesso:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, doveDOMAIN
è un nome completo eOPTIONAL_PORT
deve essere omesso quando si utilizza la porta 443 per HTTPS.Dichiara l'associazione nell'app per Android incorporando un'istruzione nel file
res/values/strings.xml
dell'app per Android che rimanda all'elenco di istruzioni creato nel passaggio 1. Aggiungi un oggetto che specifica i fileassetlinks.json
da caricare. Ad esempio:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
Sostituisci
DOMAIN
eOPTIONAL_PORT
(devono essere omessi se utilizzi la porta 443 per HTTPS), ad esempiohttps://www.example.com
. Utilizza il carattere di escape per gli apici e le virgolette utilizzati nella stringa.Puoi anche aggiungere uno snippet JSON nel file
strings.xml
come mostrato nella documentazione dei DAL, ma l'utilizzo dell'istruzioneinclude
ti consente di modificare le istruzioni senza pubblicare una nuova versione dell'app.Fai riferimento all'istruzione nel file manifest aggiungendo la seguente riga al file
AndroidManifest.xml
dell'app in<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Pubblica la nuova versione dell'app per Android su Google Play Console
Dopo aver seguito questi passaggi, avrai configurato correttamente la condivisione delle credenziali senza problemi tra il tuo sito web e la tua app per Android.
Tieni presente che questo non è l'unico modo valido per configurare i DAL per la condivisione delle credenziali, ma questo approccio semplifica la procedura futura di aggiunta di nuove entità alla tua rete di condivisione delle credenziali senza interruzioni, promuove la riutilizzabilità del codice e riduce il potenziale di errori durante gli aggiornamenti.