Controlla la modalità di lancio dell'app.
L'API Launch Handler ti consente di controllare il modo in cui viene avviata l'app, ad esempio se utilizza una finestra esistente o una nuova e se nella finestra scelta viene visualizzato l'URL di avvio. Come per l'API File Handling, anche in questo caso viene inserito in coda un oggetto LaunchParams
in window.launchQueue
della pagina lanciata.
Stato attuale
Passaggio | Stato |
---|---|
1. Creare un video esplicativo | Completato |
2. Creare una bozza iniziale della specifica | Completato |
3. Raccogli feedback e esegui l'iterazione sul design | Completa |
4. Prova dell'origine. | Completa |
5. Lancio | Completato |
Utilizzare l'API Launch Handler
Supporto browser
Interfacce
L'API Launch Handler definisce due nuove interfacce.
LaunchParams
: un oggetto contenente l'elemento targetURL
che deve essere gestito dal consumatore.
LaunchQueue
: le code vengono avviate finché non vengono gestite dal consumatore specificato.
Il membro del manifest launch_handler
Per specificare in modo dichiarativo il comportamento di lancio dell'app, aggiungi il membro manifest launch_handler
al file manifest. Ha un sottocampo chiamato client_mode
. Ti permette di controllare se un nuovo
avviare il client esistente e indicare se è necessario esplorarlo. L'esempio seguente mostra un file con valori di esempio che indirizzerebbero sempre tutti i lanci a un nuovo cliente.
{
"launch_handler": {
"client_mode": "navigate-new"
}
}
Se non specificato, il valore predefinito di launch_handler
è {"client_mode": "auto"}
. I valori consentiti per i campi secondari sono:
client_mode
:navigate-new
: viene creato un nuovo contesto di navigazione in una finestra dell'app web per caricare l'URL di destinazione del lancio.navigate-existing
: l'ultima volta che ha interagito con il contesto di navigazione in un'app web per accedere all'URL di destinazione del lancio.focus-existing
: il contesto di navigazione con cui è stata eseguita l'ultima interazione in una finestra dell'app web viene scelto per gestire il lancio. Un nuovo oggettoLaunchParams
con il relativotargetURL
impostato sul l'URL di avvio verrà accodato nell'elementowindow.launchQueue
del documento.auto
: il comportamento è responsabilità dell'agente utente, che decide cosa funziona meglio per la piattaforma. Ad esempio, i dispositivi mobili supportano solo i singoli client e utilizzerebberoexisting-client
, mentre i computer supportano più finestre e utilizzerebberonavigate-new
per evitare la perdita di dati.
La proprietà client_mode
accetta anche un elenco (array) di valori, in cui verrà utilizzato il primo valore valido. Questo consente di aggiungere nuovi valori alla specifica senza interrompere la compatibilità con le versioni precedenti.
con le implementazioni esistenti.
Ad esempio, se si aggiungesse il valore ipotetico "focus-matching-url"
, i siti specificherebbero
"client_mode": ["focus-matching-url", "navigate-existing"]
per continuare a controllare
comportamento dei browser meno recenti che non supportavano "focus-matching-url"
.
Usa window.launchQueue
Nel codice seguente, la funzione extractSongID()
estrae un songID
dall'URL
passato al momento dell'avvio. Viene utilizzato per riprodurre un brano in una PWA di un media player.
if ('launchQueue' in window) {
launchQueue.setConsumer((launchParams) => {
if (launchParams.targetURL) {
const songID = extractSongId(launchParams.targetURL);
if (songID) {
playSong(songID);
}
}
});
}
Demo
Puoi trovare una demo dell'API Launch Handler in Demo di Launch Handler per PWA. Consulta la sezione codice sorgente dell'applicazione per vedere come utilizza Avvia l'API Gestori.
- Installa l'app Musicr 2.0.
- Inviati un link in un'applicazione di chat del modulo
https://launch-handler.glitch.me?track=https://example.com/music.mp3
. Puoi personalizzarehttps://example.com/music.mp3
per qualsiasi URL che rimandi a un file audio, ad esempiohttps://launch-handler.glitch.me?track=https://cdn.glitch.me/3e952c9c-4d6d-4de4-9873-23cf976b422e%2Ffile_example_MP3_700KB.mp3?v=1638795977190
. - Fai clic sul link nell'app di chat e osserva come si apre Musicr 2.0 e riproduce la traccia.
- Fai di nuovo clic sul link nell'app di chat e noterai che non verrà visualizzata una seconda istanza di Musicr 2.0.
Feedback
Il team di Chromium vuole conoscere le tue esperienze con l'API Launch Handler.
Fornisci informazioni sul design dell'API
C'è qualcosa nell'API che non funziona come previsto? Oppure mancano metodi o proprietà di cui hai bisogno per implementare la tua idea? Hai una domanda o un commento sulla sicurezza modello? Segnala un problema relativo alle specifiche sul repository GitHub corrispondente o aggiungi le tue opinioni a un problema esistente.
Segnalare un problema con l'implementazione
Hai trovato un bug nell'implementazione di Chromium? Oppure l'implementazione è diversa dalla specifica?
Segnala un bug all'indirizzo new.crbug.com. Includi il maggior numero di dettagli possibile,
istruzioni per la riproduzione e inserisci Blink>AppManifest
nella casella Componenti.
Glitch è ideale per condividere riproduzioni rapide.
Mostra il supporto per l'API
Intendi utilizzare l'API Launch Gestori? Il tuo supporto pubblico aiuta il team di Chromium dare la priorità alle funzionalità e indica agli altri fornitori di browser quanto sia fondamentale supportarli.
Invia un tweet all'account @ChromiumDev utilizzando l'hashtag
#LaunchHandler
e
facci sapere dove e come lo stai utilizzando.