Configurar o SDK JavaScript Consumer

Selecione a plataforma: Android iOS JavaScript

Com o SDK JavaScript para consumidores, seu app para o consumidor pode mostrar o local veículos e outros locais de interesse rastreados no Fleet Engine em uma página da Web mapa. Isso permite que seus consumidores vejam o progresso da jornada do motorista. Este guia pressupõe que você configurou o Fleet Engine com o Google Cloud associado projeto e chaves de API. Consulte Mecanismo de frota para mais detalhes.

Para configurar o SDK de consumidor JavaScript, siga estas etapas:

  1. Ativar a API Maps JavaScript
  2. Configurar autorização

Ativar a API Maps JavaScript

Ative a API Maps JavaScript no console do Google Cloud. Para mais detalhes, consulte Ativar APIs na documentação do Google Cloud. Isso permite que a SDK do consumidor para JavaScript.

configurar a autorização

Para chamadas de método de API de ambientes de baixa confiança, o Fleet Engine exige o uso de JSON Web Tokens (JWTs) assinados por uma conta de serviço adequada. Ambientes de baixa confiança incluem smartphones e navegadores. Um JWT tem origem no seu servidor, que é um ambiente totalmente confiável. O JWT é assinado, criptografado e passado ao cliente para o próximo servidor interações até que expirem ou não sejam mais válidas.

Seu back-end deve autenticar e autorizar o Fleet Engine usando mecanismos padrão do Application Default Credentials. Marca use JWTs assinados por uma conta de serviço apropriada. Para um lista de papéis da conta de serviço, consulte os papéis da conta de serviço do Fleet Engine. em Noções básicas do mecanismo de frota.

Por outro lado, o back-end deve autenticar e autorizar no Fleet Engine usando o Application Default Credentials padrão de segurança.

Como funciona a autorização?

A autorização com dados do Fleet Engine envolve o lado do servidor e do cliente implementação.

Autorização do lado do servidor

Antes de configurar a autenticação e a autorização no seu ambiente aplicativo, seu servidor de back-end deve ser capaz de emitir JSON Web Tokens para seu aplicativo baseado na Web para acesso ao Fleet Engine. Seu aplicativo baseado na Web envia esses JWTs com as solicitações para que o Fleet Engine reconheça as solicitações como autenticados e autorizados a acessar os dados solicitação. Para obter instruções sobre a implementação do JWT no lado do servidor, consulte Emitir JSON Web Tokens em Fundamentos do mecanismo de frota.

Especificamente, tenha em mente o seguinte para o SDK de consumidor JavaScript para compartilhamento de jornada:

Autorização do lado do cliente

Quando você usa o SDK JavaScript para consumidor, ele solicita um token do servidor usando uma coletor de tokens de autorização. Isso acontece quando uma das seguintes condições é verdadeira:

  • Não existe um token válido, como quando o SDK não chama o coletor em um carregamento de página atualizado ou quando o coletor não retornou com um token.

  • O token expirou.

  • O token está prestes a expirar em um minuto.

Caso contrário, o SDK de consumidor JavaScript usará o token válido emitido anteriormente e não chamar o coletor.

Criar um coletor de tokens de autorização

Crie seu coletor de tokens de autorização seguindo estas diretrizes:

  • O coletor precisa retornar uma estrutura de dados com dois campos, agrupados em um Promise da seguinte maneira:

    • Uma string token.

    • Um número expiresInSeconds. Um token expira neste período após a busca. O coletor de tokens de autenticação precisa transmitir o tempo de expiração em segundos, desde o momento da busca até a biblioteca, conforme mostrado no exemplo.

  • O coletor precisa chamar um URL no seu servidor para recuperar um token. Isso O URL (SERVER_TOKEN_URL) depende da implementação do back-end. O o seguinte URL de exemplo é para o back-end do app de exemplo no GitHub:

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

Exemplo: criar um coletor de token de autenticação

Os exemplos a seguir mostram como criar um coletor de token de autorização:

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,
  };
}

A seguir

Seguir uma viagem em JavaScript