Avant de commencer ces procédures, assurez-vous d'avoir activé les services appropriés et le SDK Consumer, comme décrit dans les sections précédentes.
Pour initialiser le SDK grand public, procédez comme suit:
Obtenir l'instance ConsumerApi
Pour utiliser le SDK grand public, votre application doit initialiser le singleton ConsumerApi
de manière asynchrone. La méthode d'initialisation utilise la classe AuthTokenFactory
pour générer de nouveaux jetons JWT pour l'utilisateur si nécessaire.
providerId
correspond à l'ID de projet de votre projet Google Cloud. Pour en savoir plus sur la création d'un projet Fleet Engine, consultez la section Créer un projet Fleet Engine du guide Fleet Engine.
Votre application doit implémenter AuthTokenFactory
comme décrit dans la section Authentification du SDK client.
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 et moteurs de rendu de cartes
Le SDK grand public version 2.0.0 et ultérieure est compatible avec le SDK Maps pour Android 18.1.0 et versions ultérieures. Le tableau suivant récapitule le moteur de rendu par défaut en fonction de la version du SDK Maps et la compatibilité des deux moteurs de rendu. Si possible, utilisez le dernier moteur de rendu.
Si vous devez utiliser l'ancien moteur de rendu, spécifiez-le explicitement à l'aide de MapsInitializer.initialize()
.
Version du SDK Maps | Compatible avec le dernier moteur de rendu | Compatible avec l'ancien moteur de rendu | Moteur de rendu par défaut |
---|---|---|---|
V18.1.0 et versions antérieures | Oui | Oui | Ancien* |
V18.2.0 | Oui | Oui | Les plus récents |
* Avec le déploiement du nouveau moteur de rendu Maps, le dernier moteur de rendu sera utilisé par défaut.
Si vous devez utiliser le moteur de rendu de votre choix, exécutez toutes les opérations de rendu de l'interface utilisateur après que OnMapsSdkInitializedCallback
a renvoyé un résultat. Les opérations de rendu de l'interface utilisateur incluent les opérations suivantes :
Gonflage d'une vue contenant
GoogleMapView
ouConsumerMapView
Placer des repères sur
ConsumerMapView
.
Si vous n'exécutez pas ces opérations après avoir reçu le résultat OnMapsSdkInitializedCallback
, le SDK Maps n'alloue pas votre moteur de rendu préféré, et la vue de carte est affichée par le moteur de rendu par défaut.
Initialiser le SDK Maps avant d'initialiser le SDK grand public
Dans votre classe
Application
ouActivity
de démarrage, appelez MapsInitializer.initialize().Attendez le résultat de la requête du moteur de rendu avant d'initialiser le SDK du client.
Pour en savoir plus, consultez les exemples suivants.
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()
}
})
}
Remarques sur SSL/TLS
En interne, la mise en œuvre du SDK client utilise SSL/TLS pour communiquer de manière sécurisée avec le service Fleet Engine. Les versions 23 ou antérieures de l'API Android peuvent nécessiter un correctif SecurityProvider
pour communiquer avec le serveur. Pour en savoir plus sur l'utilisation de SSL dans Android, consultez la section Security GMS Provider.
Il contient également des exemples de code permettant d'appliquer un correctif au fournisseur de solutions de sécurité.