iniziale Android, Chrome genera automaticamente un APK per te, che a volte
chiamiamo WebAPK. L'installazione tramite un APK rende possibile che la tua app
venga visualizzata nell'app launcher, nelle impostazioni di Android e per
registrare un set di filtri di intent.
Aggiungi alla schermata iniziale su
Android fa molto di più che aggiungere la Progressive Web App alla schermata
iniziale dell'utente. Chrome genera e installa automaticamente un APK speciale
della tua app. A volte ci riferiamo a questo come WebAPK . L'installazione
tramite un APK rende possibile che la tua app venga visualizzata nell'app
launcher, nelle impostazioni di Android e per registrare un set di filtri di
intent.
Quando una Progressive Web App è installata su Android, registra una serie di
filtri intent
per tutti gli URL nell'ambito dell'app. Quando un utente fa clic su un link che
rientra nell'ambito dell'applicazione, l'app verrà aperta al posto di una scheda
del browser.
Considera il seguente manifest.json, una volta eseguita dall'app launcher,
avvia https://example.com/ come app standalone, senza alcun browser chrome.
Se l'utente fa clic su un collegamento all'interno di un'app installata su
https://example.com/read , verrà catturato dall'intent ed aperto nella
Progressive Web App.
Utilizzo scope per limitare i filtri di intent
Se non vuoi che la tua Progressive Web App gestisca tutti gli URL all'interno
del tuo sito, puoi aggiungere la proprietà
scope al manifest della tua app
Web. La proprietà scope dice ad Android di aprire la tua web app solo se l'URL
corrisponde origin + scope e limita quali URL saranno gestiti dalla tua app
e quali dovrebbero essere aperti nel browser. Questo è utile quando hai la tua
app e altri contenuti non-app sullo stesso dominio.
Considera il seguente manifest.json, una volta lanciato dall'app launcher,
avvia https://example.com/app/ come app standalone, senza alcun browser
chrome.
Diamo un'occhiata ad alcuni esempi: https://example.com/app/ - all'interno di
/app/ https://example.com/app/read/book - all'interno
di /app/ https://example.com/help/ - non in
/app/ https://example.com/about/ - non in
/app/
Consulta scope per ulteriori
informazioni a proposito di scope, su cosa accade quando non lo imposti e su
come utilizzarlo per definire il perimetro della tua app.
Gestione delle autorizzazioni
Le autorizzazioni funzionano allo stesso modo delle altre web app e non possono
essere richieste al momento dell'installazione, ma devono essere richieste in
fase di esecuzione, idealmente solo quando ne hai veramente bisogno. Ad esempio,
non chiedere l'autorizzazione della videocamera al primo caricamento, ma attendi
fino a quando l'utente non tenta di scattare una foto.
Gestione dello stato di archiviazione e app
Anche se la Progressive Web App viene installata tramite un APK, Chrome utilizza
il profilo corrente per archiviare tutti i dati e non verrà separato. Ciò
consente un'esperienza condivisa tra il browser e l'app installata. I cookie
sono condivisi ed attivi, qualsiasi spazio di archiviazione lato client è
accessibile ed i service workersono installati e pronti all'uso.
Tuttavia, questo può essere un problema se l'utente cancella il proprio profilo
Chrome o sceglie di cancellare i dati del sito.
Aggiornamento di WebAPK
Quando viene eseguito WebAPK, Chrome controlla il manifest attualmente
installato con il manifest live. Se una delle proprietà nel manifest richieste
per aggiungere la PWA alla schermata iniziale è cambiata, Chrome richiederà un
WebAPK aggiornato. La richiesta può essere accodata fino a quando il dispositivo
è collegato e ha una connessione WiFi.
Vedere
UpdateReason
enum all'interno di message WebApk per i motivi che potrebbero richiedere
aggiornamenti di WebAPK.
Feedback
Was this page helpful?
Yes
What was the best thing about this page?
It helped me complete my goal(s)
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It had the information I needed
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It had accurate information
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It was easy to read
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
Something else
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
No
What was the worst thing about this page?
It didn't help me complete my goal(s)
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It was missing information I needed
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It had inaccurate information
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It was hard to read
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
Something else
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
Domande frequenti
Se viene modificata una delle proprietà manifest. Per tutti i dettagli
Cosa succede se l'utente ha già installato l'app nativa per il sito?
Ad oggi tramite aggiungi alla schermata iniziale, gli utenti saranno in
grado di aggiungere un sito indipendente da qualsiasi app nativa. Se prevedi che
gli utenti possano installare entrambe, ti consigliamo di differenziare l'icona
o il nome del tuo sito dall'app nativa.
Quando un utente apre un sito installato tramite l'aggiunta avanzata alla
schermata Home, Chrome sarà in esecuzione?
Sì, una volta che il sito è stato aperto dalla schermata principale,
l'attività principale è ancora Chrome. I cookie, le autorizzazioni e tutti gli
altri stati del browser saranno condivisi.
Lo spazio di archiviazione del mio sito installato verrà cancellato se
l'utente cancella la cache di Chrome?
Sì.
La mia app verrà reinstallata quando avrò un nuovo dispositivo?
Non in questo momento, ma riteniamo che sia un'area importante e stiamo
studiando i modi per farlo funzionare.
Sarò in grado di registrarmi per gestire schemi e protocolli URL
personalizzati?
No.
Come vengono gestite le autorizzazioni? Verrà visualizzato il prompt di
Chrome o Android?
Le autorizzazioni saranno comunque gestite tramite Chrome. Gli utenti
vedranno le richieste di Chrome di concedere le autorizzazioni e potranno
modificarle nelle impostazioni di Chrome.
Su quali versioni di Android funzionerà?
Le Progressive Web App possono essere installate su tutte le versioni di
Android che eseguono Chrome per Android, in particolare Jelly Bean e versioni
successive.
Questo usa WebView?
No, il sito si apre nella versione di Chrome da cui l'utente ha aggiunto
il sito.
Possiamo caricare gli APK creati nel Play Store?
No. Non sono fornite informazioni sulla firma delle chiavi per consentire
all'utente di creare il proprio PWA anziché dallo store.
Sono elencati nel Play Store?
No.
Sono uno sviluppatore di un altro browser su Android, posso avere questo
processo di installazione senza interruzioni?
Ci stiamo lavorando. Ci impegniamo a renderlo disponibile a tutti i
browser su Android e avremo presto maggiori dettagli.
Feedback
Was this page helpful?
Yes
What was the best thing about this page?
It helped me complete my goal(s)
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It had the information I needed
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It had accurate information
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It was easy to read
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
Something else
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
No
What was the worst thing about this page?
It didn't help me complete my goal(s)
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It was missing information I needed
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It had inaccurate information
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
It was hard to read
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.
Something else
Thank you for the feedback. If you have specific ideas on how to improve this page, please
create an issue.