Prima di iniziare queste procedure, assicurati di aver attivato le app e l'SDK consumer come descritto nelle sezioni precedenti.
Per inizializzare l'SDK consumer, segui questi passaggi:
Ottieni l'istanza ConsumerApi
Per utilizzare l'SDK consumer, la tua app deve inizializzare il singleton
ConsumerApi
in modo asincrono. Il metodo di inizializzazione prende le
AuthTokenFactory
per generare nuovi token JWT per l'utente quando necessario.
providerId
è l'ID progetto del tuo progetto Google Cloud. Per ulteriori informazioni
informazioni sulla creazione di un progetto Fleet Engine,
Crea il tuo progetto Fleet Engine nella guida di Fleet Engine.
L'app deve implementare AuthTokenFactory
come descritto in SDK consumer
Autenticazione.
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 renderer di Maps
Consumer SDK v2.0.0 e versioni successive supportano l'SDK Maps per Android v18.1.0 e
in un secondo momento. La tabella riportata di seguito riassume il renderer predefinito in base alla versione di Maps SDK
e della supportabilità di entrambi i renderer. Se possibile, utilizza il renderer più recente.
Se devi utilizzare il renderer precedente, specificalo esplicitamente utilizzando
MapsInitializer.initialize()
Versione SDK Maps | Supporta il renderer più recente | Supporta il renderer precedente | Renderer predefinito |
---|---|---|---|
V18.1.0 e precedenti | Sì | Sì | Precedente* |
V18.2.0 | Sì | Sì | Più recenti |
* Con il lancio del nuovo renderer di Maps, il renderer più recente sarà predefinito.
Se devi utilizzare un renderer preferito, esegui tutte le operazioni di rendering dell'interfaccia utente
dopo OnMapsSdkInitializedCallback
restituisce un risultato. Rendering della UI
operazioni includono le seguenti operazioni:
Espansione di una visualizzazione contenente
GoogleMapView
oConsumerMapView
.Inserire gli indicatori su
ConsumerMapView
.
Se non esegui queste operazioni dopo aver ricevuto il
OnMapsSdkInitializedCallback
risultato, Maps SDK non alloca il tuo
il renderer preferito e il rendering della visualizzazione mappa viene invece eseguito dal renderer predefinito.
Inizializza Maps SDK prima di inizializzare l'SDK consumer
Nel corso del corso
Application
o della startupActivity
, chiama MapsInitializer.initialize()Attendi il risultato della richiesta del renderer prima di inizializzare l'SDK consumer.
Per informazioni dettagliate, consulta 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
Internamente, l'implementazione dell'SDK consumer utilizza SSL/TLS per comunicare in modo sicuro
con il servizio Fleet Engine. Le versioni API Android 23 o precedenti potrebbero richiedere un
Patch SecurityProvider
per comunicare con il server. Per ulteriori informazioni
sull'utilizzo di SSL in Android, vedi Security GMS
Fornitore.
L'articolo contiene anche esempi di codice per l'applicazione di patch al provider di sicurezza.