Initialiser le SDK client

Avant d'entamer ces procédures, assurez-vous d'avoir activé et le SDK Consumer, comme décrit dans les sections précédentes.

Pour initialiser le SDK grand public, procédez comme suit:

  1. Obtenir l'instance ConsumerAPI
  2. Initialiser le SDK Maps pour demander le moteur de rendu préféré

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 AuthTokenFactory afin de 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 plus pour en savoir plus sur la création d'un projet Fleet Engine, consultez Créez votre projet Fleet Engine dans le guide Fleet Engine.

Votre application doit implémenter AuthTokenFactory comme décrit dans la section SDK grand public l'authentification.

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

Les versions 2.0.0 et ultérieures du SDK grand public sont compatibles avec le SDK Maps pour Android 18.1.0 et plus tard. 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 en utilisant MapsInitializer.initialize()

Version du SDK Maps Compatibilité 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écentes

* Avec le déploiement du nouveau moteur de rendu Maps, le dernier moteur de rendu sera 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. after OnMapsSdkInitializedCallback renvoie un résultat. Les opérations de rendu de l'interface utilisateur incluent les opérations suivantes :

  • Gonflage d'une vue contenant GoogleMapView ou ConsumerMapView

  • Placer des repères sur ConsumerMapView.

Si vous n'exécutez pas ces opérations après avoir reçu la valeur OnMapsSdkInitializedCallback résultat, le SDK Maps n'alloue pas votre le moteur de rendu préféré et que 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

  1. Dans votre classe Application ou Activity de démarrage, appelez MapsInitializer.initialize()

  2. Attendez le résultat de la requête du moteur de rendu avant d'initialiser le SDK grand public.

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, l'implémentation du SDK client utilise SSL/TLS pour communiquer de façon 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 sous Android, consultez la section Security GMS Fournisseur. Il contient également des exemples de code permettant d'appliquer un correctif au fournisseur de solutions de sécurité.

Étape suivante

Configurer une carte