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 onde o dispositivo possa determinar a própria localização:

  • Em áreas com baixa precisão do GPS, como espaços internos e ambientes urbanos densos, a API contará com a cobertura do 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.

Você pode 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 apresentar uma mensagem "Entrar na 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 de VPS no seu app

A API Geospatial pode ser usada em qualquer lugar em que o dispositivo possa determinar a própria localização. Caso sua experiência de RA dependa da cobertura de VPS, você pode usar GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: para receber um GARVPSAvailabilityFuture, uma tarefa assíncrona que verifica a disponibilidade do 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 saber 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 ver o resultado.

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

Receber o resultado usando um callback

Você também pode receber o resultado de um Future usando 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