Electron Desktop App Development · Lezione

Deep linking e gestori di protocolli

Consentite agli utenti di avviare e navigare nella vostra app Electron tramite schemi URL personalizzati, un’integrazione fondamentale del ciclo di vita che completa gli eventi di avvio e gli aggiornamenti.

Lezione 4 di 413 passaggi

Deep linking e gestori di protocolli è una lezione Electron Desktop App Development gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Electron Desktop App Development, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Electron Desktop App Development include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Launching From a Link

Deep linking lets a URL like myapp://open/project/42 launch or focus your app and jump straight to content.

Custom Protocols

Register a custom URL scheme so the OS knows links of that type belong to your app.

app.setAsDefaultProtocolClient('myapp');

Parsing the Deep Link

Extract the path and parameters from the incoming URL to decide where to navigate.

function parseDeepLink(url) {
  const u = new URL(url);
  return { host: u.host, path: u.pathname };
}
console.log(parseDeepLink('myapp://open/project/42'));

Handling Links on macOS

On macOS, deep links arrive via the open-url event, even while the app is running.

app.on('open-url', (event, url) => {
  event.preventDefault();
  handleLink(url);
});

Handling Links on Windows and Linux

On Windows and Linux the URL comes in as a command-line argument, so inspect process.argv on launch.

function urlFromArgv(argv) {
  return argv.find(a => a.startsWith('myapp://'));
}
console.log(urlFromArgv(['electron', '.', 'myapp://open/5']));

Single Instance Coordination

Use the single instance lock so a second launch forwards its URL to the already-running app instead of starting a new one.

const gotLock = app.requestSingleInstanceLock();
if (!gotLock) app.quit();

second-instance Event

The second-instance event delivers the new command line, where the deep link lives, and lets you focus the main window.

app.on('second-instance', (e, argv) => {
  const url = urlFromArgv(argv);
  if (url) handleLink(url);
});

Cold Start vs Warm Start

Handle both cases: the app launched fresh by the link (cold) and the app already open (warm). Route both to the same handler.

Validating the Link

Never trust a deep link blindly. Validate the path and parameters before acting on them to avoid abuse.

Testing Deep Links

Test by typing the URL into a browser or terminal. During development the scheme must point at your packaged or running app.

Use Cases

Deep links power OAuth callbacks, sharing, and notifications that jump straight to relevant content, tying nicely into the app lifecycle.

Quick Check

Test your deep linking knowledge.

Recap

You learned to register a custom protocol, parse deep links, handle them across platforms, coordinate with the single-instance lock, and validate input, enabling URL-driven app navigation.

Gratis per iniziare

Impara JavaScript con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
12
Lezioni
47

Domande Frequenti

La lezione «Deep linking e gestori di protocolli» è gratuita?

Sì — il testo completo di «Deep linking e gestori di protocolli» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Electron Desktop App Development, passa a CoddyKit PRO. Il corso Electron Desktop App Development include 4 lezioni in totale.

Cosa imparerò in «Deep linking e gestori di protocolli»?

Consentite agli utenti di avviare e navigare nella vostra app Electron tramite schemi URL personalizzati, un’integrazione fondamentale del ciclo di vita che completa gli eventi di avvio e gli aggiorn… Eserciti Electron Desktop App Development con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Electron Desktop App Development?

Non è richiesta alcuna esperienza precedente. Electron Desktop App Development su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Deep linking e gestori di protocolli»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Electron Desktop App Development?

Sì. Ogni lezione Electron Desktop App Development include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Gestione degli eventi del ciclo di vita dell’app
  2. Implementazione degli aggiornamenti automatici
  3. Segnalazione degli arresti anomali
  4. Deep linking e gestori di protocolli
← Torna a Electron Desktop App Development