Antes de comenzar estos procedimientos, asegúrate de haber habilitado y el SDK del consumidor, como se describió en secciones anteriores.
Para inicializar el SDK para consumidores, sigue estos pasos:
Obtén la instancia de ConsumerApi
Para usar el SDK de Consumer, 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 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
La versión 2.0.0 y posteriores del SDK para consumidores admiten la versión 18.1.0 y posteriores del SDK de Maps para Android. En la siguiente tabla, se resume el renderizador predeterminado por versión del SDK de Maps y la compatibilidad de ambos renderizadores. 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 | Sí | Sí | Heredado* |
V18.2.0 | Sí | Sí | 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
oConsumerMapView
.Colocar marcadores en
ConsumerMapView
Si no ejecutas estas operaciones después de recibir el resultado OnMapsSdkInitializedCallback
, el SDK de Maps no asignará tu renderizador preferido y, en su lugar, el renderizador predeterminado renderizará la vista del mapa.
Inicializa el SDK de Maps antes de inicializar el SDK para consumidores
En tu clase
Application
o inicial deActivity
, llama a MapsInitializer.initialize()Espera el resultado de la solicitud del renderizador antes de inicializar el SDK de Consumer.
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 contiene muestras de código para aplicar parches al proveedor de seguridad.