Verificar a disponibilidade do VPS no local atual do dispositivo

A API Geospatial usa uma combinação de dados de VPS e GPS para gerar transformações Geospatial de alta precisão. A API pode ser usada em qualquer lugar em que o dispositivo possa determinar a própria localização:

  • Em áreas com baixa precisão de GPS, como espaços internos e ambientes urbanos densos, a API vai depender da cobertura de VPS para gerar transformações de alta precisão.
  • Em ambientes externos com poucas ou nenhuma obstrução suspensa, a API Geospatial pode usar os dados de localização por GPS disponíveis para gerar transformações geoespaciais com alta precisão.

É possível determinar a disponibilidade do VPS em uma determinada posição horizontal antes do início da sessão de RA e usá-la para criar experiências mais específicas. Por exemplo, para mostrar um botão "Entrar no RA" somente quando o VPS estiver disponível.

Ativar a API ARCore

Seu app precisa ativar a API ARCore para verificar a disponibilidade do VPS.

Verificar a disponibilidade do VPS no app

A API Geospatial pode ser usada em qualquer lugar em que o dispositivo possa determinar a própria localização. Se a sua experiência de RA depender da cobertura de VPS, use GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: para receber uma GARVPSAvailabilityFuture, uma tarefa assíncrona que verifica a disponibilidade de VPS em uma determinada posição horizontal. Quando você tiver o GARVPSAvailabilityFuture, poderá ver o resultado pesquisando ou usando um callback.

Pesquisar o resultado

Use GARFuture.state para conferir o estado do Future. Há três estados diferentes:

  • GARFutureStatePending: a operação ainda não foi concluída, então nenhum resultado é conhecido.
  • GARFutureStateCancelled: a operação foi cancelada por GARFuture#cancel. Nenhum callback registrado será chamado.
  • GARFutureStateDone: a operação foi concluída. Use GARVPSAvailabilityFuture.result para receber o resultado.

Continue verificando GARFuture.state até que a tarefa seja concluída.

Receber o resultado por um callback

Também é possível receber o resultado de uma Future por um callback. Use GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: e forneça um completionHandler. Esse completionHandler será chamado na linha de execução principal logo depois que Future tiver o estado GARFutureStateDone.

Cancelar o Future

Use GARFuture#cancel para tentar cancelar o Future. Devido ao paralelismo de linhas de execução, é possível que sua tentativa de cancelamento não dê certo. GARFuture#cancel retornará YES se a tentativa for bem-sucedida. Caso contrário, retornará NO.

Usar a API Geospatial sem cobertura de VPS

A API Geospatial também pode ser usada em áreas que não têm cobertura de VPS. Em ambientes externos com pouca ou nenhuma obstrução suspensa, o GPS pode ser suficiente para gerar uma pose com alta precisão.

A seguir