Configura l'SDK consumer JavaScript

Seleziona la piattaforma: Android iOS JavaScript

Con l'SDK Consumer JavaScript, la tua app per utenti finali può mostrare la posizione dei veicoli e altre località di interesse monitorate in Fleet Engine su una mappa basata sul web. In questo modo, i consumatori possono visualizzare l'avanzamento del percorso del conducente. Questa guida presuppone che tu abbia configurato Fleet Engine con il progetto Google Cloud e le chiavi API associati. Per maggiori dettagli, consulta Fleet Engine.

Per configurare l'SDK Consumer per JavaScript, segui questi passaggi:

  1. Abilita l'API Maps JavaScript
  2. Configura le autorizzazioni

Abilita l'API Maps JavaScript

Abilita l'API Maps JavaScript nella console Google Cloud. Per maggiori dettagli, consulta Abilita le API nella documentazione di Google Cloud. In questo modo viene attivato l'SDK Consumer per JavaScript.

Configura l'autorizzazione

Fleet Engine richiede l'utilizzo di token web JSON (JWT) per le chiamate ai metodi API da ambienti con un livello di attendibilità basso: smartphone e browser.

Un JWT ha origine sul tuo server, viene firmato, criptato e passato al client per le successive interazioni con il server fino alla scadenza o alla perdita di validità.

Dettagli chiave

Come funziona l'autorizzazione?

L'autorizzazione con i dati di Fleet Engine prevede l'implementazione sia lato server sia lato client.

Autorizzazione lato server

Prima di configurare l'autenticazione e l'autorizzazione nella tua applicazione basata sul web, il tuo server di backend deve essere in grado di emettere token web JSON per la tua applicazione basata sul web per l'accesso a Fleet Engine. La tua applicazione basata sul web invia questi JWT con le sue richieste in modo che Fleet Engine le riconosca come autenticate e autorizzate ad accedere ai dati nella richiesta. Per istruzioni sull'implementazione dei JWT lato server, consulta Emetti token web JSON in Nozioni di base su Fleet Engine.

In particolare, tieni presente quanto segue per l'SDK Consumer JavaScript per la condivisione dell'avanzamento del percorso:

Autorizzazione lato client

Quando utilizzi l'SDK Consumer per JavaScript, questo richiede un token al server utilizzando un recuperatore di token di autorizzazione. Ciò avviene quando si verifica una delle seguenti condizioni:

  • Non esiste un token valido, ad esempio quando l'SDK non ha chiamato il fetcher durante un nuovo caricamento pagina o quando il fetcher non ha restituito un token.

  • Il token è scaduto.

  • Il token scadrà entro un minuto.

In caso contrario, l'SDK Consumer JavaScript utilizza il token valido emesso in precedenza e non chiama l'utilità di recupero.

Crea un recuperatore di token di autorizzazione

Crea l'analizzatore del token di autorizzazione seguendo queste linee guida:

  • Il fetcher deve restituire una struttura di dati con due campi, racchiusi in un Promise come segue:

    • Una stringa token.

    • Un numero expiresInSeconds. Un token scade dopo questo periodo di tempo dal recupero. L'agente di recupero del token di autenticazione deve passare alla libreria la data di scadenza in secondi, dal momento del recupero, come mostrato nell'esempio.

  • Il recuperatore deve chiamare un URL sul tuo server per recuperare un token. Questo URL, SERVER_TOKEN_URL, dipende dall'implementazione del backend. L'URL di esempio seguente è per il backend dell'app di esempio su GitHub:

    • https://SERVER_URL/token/consumer/TRIPID

Esempio: crea un recuperatore di token di autenticazione

I seguenti esempi mostrano come creare un recuperatore di token di autorizzazione:

JavaScript

async function authTokenFetcher(options) {
  // options is a record containing two keys called
  // serviceType and context. The developer should
  // generate the correct SERVER_TOKEN_URL and request
  // based on the values of these fields.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.Token,
    expiresInSeconds: data.ExpiresInSeconds
  };
}

TypeScript

function authTokenFetcher(options: {
  serviceType: google.maps.journeySharing.FleetEngineServiceType,
  context: google.maps.journeySharing.AuthTokenContext,
}): Promise<google.maps.journeySharing.AuthToken> {
  // The developer should generate the correct
  // SERVER_TOKEN_URL based on options.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.token,
    expiresInSeconds: data.ExpiresInSeconds,
  };
}

Passaggi successivi

Segui un percorso in JavaScript