Para receber atualizações de dados de viagem do Google Maps ou do Waze, configure seu back-end usando uma das seguintes opções:
- Um método de extração usando a API Navigation Connect ou
- Um método push orientado a eventos usando o Google Cloud Pub/Sub.
Opção 1: usar a API Navigation Connect
Para buscar manualmente o status mais recente da viagem, chame o método GetTrip com
o ID exclusivo da viagem.
O exemplo a seguir mostra como chamar a API na linha de comando usando suas Application Default Credentials (ADC) para autorizar a solicitação de servidor para servidor.
#!/bin/bash
gcloud auth application-default login
access_token="$(gcloud auth application-default print-access-token)"
# Call the GetTrip method
curl -X GET "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips/TRIP_ID" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json"
Personalizar formatos de polilinha (somente no Waze)
Se você tiver ativado o relatório de rota restante
durante a criação da viagem, poderá personalizar a representação da polilinha da rota ativa retornada ao chamar o método GetTrip.
Para escolher um formato para a polilinha, inclua o parâmetro routePolylineFormat na sua solicitação. Os formatos compatíveis incluem:
ENCODED: uma string de polilinha codificada padrão (cinco casas decimais).S2ENCODED: uma S2Polyline codificada.GEO_JSON: um formato GeoJSON LineString.
Opção 2: usar o Google Cloud Pub/Sub
Para receber atualizações regulares sobre a viagem, inscreva-se em um tópico do Google Cloud Pub/Sub. Depois que o motorista der consentimento, o Navigation Connect vai enviar atualizações diretamente para seu tópico.
Para uma introdução às mensagens, consulte o guia de início rápido do Pub/Sub.
As seções a seguir descrevem como usar o Google Cloud Pub/Sub para receber dados de uma sessão de navegação com o Google Maps ou o Waze.
1. Criar um tópico
Crie um tópico chamado exatamente navigation_connect_trip_notifications no seu projeto na nuvem do Google Cloud da seguinte maneira:
- Ative a API Pub/Sub.
- Acesse a página de tópicos do Pub/Sub no console do Google Cloud.
- Clique em Criar tópico.
Insira
navigation_connect_trip_notificationsno campo ID do tópico.Clique em Criar.
O console mostra o nome completo do tópico como projects/project-number/topics/navigation_connect_trip_notifications, em que project-number é o número exclusivo do seu projeto.
2. Conceder permissão de publicação à conta de serviço do Navigation Connect
O Google usa uma conta de serviço para publicar atualizações de viagens em tópicos do Google Cloud Pub/Sub. Para receber atualizações sobre o assunto, conceda permissão projects.topics.publish
para o tópico à seguinte conta de serviço:
geo-navigation-connect-pubsub@system.gserviceaccount.com.
Para mais informações, consulte a documentação do Pub/Sub sobre controle de acesso.
3. Integrar com seu back-end
Para processar atualizações, escreva um aplicativo do lado do servidor que autentique e se inscreva no seu tópico. Use as bibliotecas de cliente do Pub/Sub para um desenvolvimento simplificado. Para testar, use a CLI gcloud e o Console do Google.
4. Testar sua assinatura
Verifique sua configuração usando a CLI gcloud ou o console do Google Cloud.
CLI da gcloud
Extraia mensagens de uma assinatura (por exemplo, my-sub) usando o seguinte
comando:
gcloud pubsub subscriptions pull my-sub --auto-ack
Console do Google Cloud
No console do Google Cloud, faça o seguinte:
- Abra a página Assinaturas.
- Selecione sua assinatura e clique na guia Mensagens.
- Clique em Pull.
A seguir
Depois de começar a receber os dados de viagem, analise-os para usar nos seus sistemas e apps.