Inicializa el SDK del consumidor

Antes de comenzar estos procedimientos, asegúrate de haber habilitado y el SDK del consumidor, como se describió en secciones anteriores.

Sigue estos pasos para inicializar el SDK para consumidores:

  1. Obtén la instancia ConsumerAPI
  2. Inicializa el SDK de Maps para solicitar un procesador preferido

Obtén la instancia ConsumerApi

Para usar el SDK de consumidor, tu app debe inicializar el singleton ConsumerApi de forma asíncrona. El método de inicialización toma la La clase AuthTokenFactory a fin de generar tokens JWT nuevos para el usuario cuando sea necesario

El providerId es el ID de tu proyecto de Google Cloud. Para ver más para crear un proyecto de Fleet Engine, consulta Crea tu proyecto de Fleet Engine en la guía de Fleet Engine.

Tu app debe implementar las AuthTokenFactory como se describe en el SDK para consumidores Autenticación.

Java

Task<ConsumerApi> consumerApiTask = ConsumerApi.initialize(
    this, "myProviderId", authTokenFactory);

consumerApiTask.addOnSuccessListener(
  consumerApi -> this.consumerApi = consumerApi);

Kotlin

val consumerApiTask =
  ConsumerApi.initialize(this, "myProviderId", authTokenFactory)

consumerApiTask?.addOnSuccessListener { consumerApi: ConsumerApi ->
  this@YourActivity.consumerApi = consumerApi
}

SDK de Maps y procesadores de mapas

El SDK para consumidores v2.0.0 y versiones posteriores admiten la versión 18.1.0 y las versiones posteriores del SDK de Maps para Android. más adelante. En la siguiente tabla, se resume el procesador predeterminado por versión del SDK de Maps y la compatibilidad de ambos procesadores. Si es posible, usa el procesador más reciente. Si debes usar el procesador heredado, especifícalo explícitamente con MapsInitializer.initialize()

Versión del SDK de Maps Admite el procesador más reciente Admite el procesador heredado Procesador predeterminado
V18.1.0 y versiones anteriores Heredado*
V18.2.0 Más reciente

* Con el lanzamiento del nuevo procesador de Maps, el procesador más reciente será de forma predeterminada.

Si debes usar un procesador preferido, ejecuta todas las operaciones de renderización de la IU. after OnMapsSdkInitializedCallback muestra un resultado. Renderización de IU operaciones incluyen las siguientes:

  • Aumenta una vista que contiene GoogleMapView o ConsumerMapView.

  • Coloca los marcadores en ConsumerMapView.

Si no ejecutas estas operaciones después de recibir OnMapsSdkInitializedCallback, el SDK de Maps no asigna tu y la vista de mapa se renderiza mediante el procesador predeterminado.

Inicializa el SDK de Maps antes de inicializar el SDK para consumidores

  1. En tu clase Application o inicial de Activity, llama MapsInitializer.initialize()

  2. Espera el resultado de la solicitud del renderizador antes de inicializar el SDK de consumidor.

Consulta los siguientes ejemplos para obtener más detalles.

Java

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  initViews();

  MapsInitializer.initialize(getApplicationContext(), Renderer.LATEST,
      new OnMapsSdkInitializedCallback() {
        @Override
        public void onMapsSdkInitialized(Renderer renderer) {
          switch (renderer) {
            case LATEST:
              Log.i("maps_renderer", "LATEST renderer");
              break;
            case LEGACY:
              Log.i("maps_renderer", "LEGACY renderer");
              break;
          }

          initializeConsumerSdk();
        }
      });
}

Kotlin

fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.main)
  initViews()

  MapsInitializer.initialize(
    getApplicationContext(), Renderer.LATEST,
    object : OnMapsSdkInitializedCallback() {
      fun onMapsSdkInitialized(renderer: Renderer?) {
        when (renderer) {
          LATEST -> Log.i("maps_renderer", "LATEST renderer")
          LEGACY -> Log.i("maps_renderer", "LEGACY renderer")
        }
        initializeConsumerSdk()
      }
    })
  }

Notas sobre SSL/TLS

De forma interna, la implementación del SDK para consumidores usa SSL/TLS para comunicarse de forma segura con el servicio de Fleet Engine. Las versiones 23 o anteriores de la API de Android pueden requerir una SecurityProvider para comunicarse con el servidor. Más información sobre cómo trabajar con SSL en Android, consulta GMS de seguridad Proveedor. El artículo también incluye muestras de código para aplicar parches al proveedor de seguridad.

¿Qué sigue?

Cómo configurar un mapa