Prima di iniziare queste procedure, assicurati di aver attivato i servizi e l'SDK Consumer appropriati, come descritto nelle sezioni precedenti.
Per inizializzare l'SDK Consumer:
Ottenere l'istanza ConsumerApi
Per utilizzare l'SDK Consumer, la tua app deve inizializzare il singolo
ConsumerApi
in modo asincrono. Il metodo di inizializzazione prende la classe AuthTokenFactory
per generare nuovi token JWT per l'utente, se necessario.
providerId
è l'ID progetto del tuo progetto Google Cloud. Per ulteriori informazioni sulla creazione di un progetto Fleet Engine, consulta Creare un progetto Fleet Engine nella guida di Fleet Engine.
La tua app deve implementare AuthTokenFactory
come descritto in Autentificazione
dell'SDK consumer.
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 Maps e visualizzatori delle mappe
La versione 2.0.0 e successive dell'SDK per i consumatori supportano la versione 18.1.0 e successive dell'SDK Maps per Android. La seguente tabella riassume il visualizzatore predefinito in base alla versione dell'SDK Maps
e la supportabilità di entrambi i visualizzatori. Se possibile, utilizza il renderer più recente.
Se devi utilizzare il vecchio visualizzatore, specificalo esplicitamente utilizzando
MapsInitializer.initialize()
.
Versione SDK Maps | Supporta il renderer più recente | Supporta il vecchio motore di rendering | Renderer predefinito |
---|---|---|---|
V18.1.0 e versioni precedenti | Sì | Sì | Legacy* |
V18.2.0 | Sì | Sì | Più recenti |
* Con l'implementazione del nuovo visualizzatore di Maps, il visualizzatore più recente sarà quello predefinito.
Se devi utilizzare un visualizzatore preferito, esegui tutte le operazioni di rendering dell'interfaccia utente
dopo che OnMapsSdkInitializedCallback
restituisce un risultato. Le operazioni di rendering dell'interfaccia utente includono le seguenti operazioni:
Ingrandimento di una visualizzazione che contiene
GoogleMapView
oConsumerMapView
.Posizionamento di indicatori su
ConsumerMapView
.
Se non esegui queste operazioni dopo aver ricevuto il risultato OnMapsSdkInitializedCallback
, l'SDK Maps non alloca il visualizzatore preferito e la visualizzazione della mappa viene visualizzata dal visualizzatore predefinito.
Inizializza l'SDK Maps prima di inizializzare l'SDK Consumer
Nella classe
Application
o di avvioActivity
, chiama MapsInitializer.initialize()Attendi il risultato della richiesta del renderer prima di inizializzare l'SDK Consumer.
Per maggiori dettagli, vedi gli esempi riportati di seguito.
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()
}
})
}
Note su SSL/TLS
All'interno, l'implementazione dell'SDK consumer utilizza SSL/TLS per comunicare in modo sicuro con il servizio Fleet Engine. Le versioni dell'API Android 23 o precedenti potrebbero richiedere una patchSecurityProvider
per comunicare con il server. Per ulteriori informazioni sull'utilizzo di SSL in Android, consulta Provider GMS per la sicurezza.
L'articolo contiene anche esempi di codice per applicare patch al provider di sicurezza.