Consumer SDK initialisieren

Bevor Sie mit diesen Verfahren beginnen, stellen Sie sicher, dass Sie die entsprechenden und das Consumer SDK, wie in den vorherigen Abschnitten beschrieben.

So initialisieren Sie das Consumer SDK:

  1. ConsumerAPI-Instanz abrufen
  2. Maps SDK initialisieren, um den bevorzugten Renderer anzufordern

ConsumerApi-Instanz abrufen

Um das Consumer SDK zu verwenden, muss deine App das Singleton-Element initialisieren ConsumerApi asynchron. Die Initialisierungsmethode verwendet AuthTokenFactory, um bei Bedarf neue JWT-Tokens für den Nutzer zu generieren.

providerId ist die Projekt-ID Ihres Google Cloud-Projekts. Weitere Informationen Informationen zum Erstellen eines Fleet Engine-Projekts finden Sie unter Erstellen Sie Ihr Fleet Engine-Projekt im Fleet Engine-Leitfaden.

Deine App sollte das AuthTokenFactory wie unter Consumer SDK beschrieben implementieren. Authentifizierung.

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
}

Maps SDK und Karten-Renderer

Das Consumer SDK v2.0.0 und höher unterstützt das Maps SDK for Android v18.1.0 und . In der folgenden Tabelle wird der Standard-Renderer nach Maps SDK-Version zusammengefasst und die Unterstützung beider Renderer. Verwenden Sie nach Möglichkeit den neuesten Renderer. Wenn Sie den alten Renderer verwenden müssen, geben Sie ihn explizit mit MapsInitializer.initialize()

Maps SDK-Version Unterstützt den neuesten Renderer Unterstützt den alten Renderer Standard-Renderer
V18.1.0 und niedriger Ja Ja Alt*
V18.2.0 Ja Ja Neueste

* Mit der Einführung des neuen Maps Renderer Standardeinstellung.

Wenn Sie einen bevorzugten Renderer verwenden müssen, führen Sie alle UI-Rendering-Vorgänge aus after: OnMapsSdkInitializedCallback gibt ein Ergebnis zurück. UI-Rendering Vorgänge umfassen die folgenden Vorgänge:

  • Maximieren einer Ansicht, die GoogleMapView oder ConsumerMapView enthält

  • Markierungen werden auf ConsumerMapView platziert.

Wenn Sie diese Vorgänge nach Erhalt der OnMapsSdkInitializedCallback Ergebnis bedeutet, dass das Maps SDK deine bevorzugten Renderer und die Kartenansicht wird stattdessen vom Standard-Renderer gerendert.

Initialisieren Sie das Maps SDK, bevor Sie das Consumer SDK initialisieren

  1. Rufen Sie in Ihrem Application- oder Start-up-Kurs Activity MapsInitializer.initialize()

  2. Warten Sie auf das Ergebnis der Renderer-Anfrage, bevor Sie das Consumer SDK initialisieren.

Weitere Informationen finden Sie in den folgenden Beispielen.

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()
      }
    })
  }

Hinweise zu SSL/TLS

Die Consumer SDK-Implementierung verwendet intern SSL/TLS für eine sichere Kommunikation. mit dem Fleet Engine-Dienst. Für die Android API Version 23 oder niedriger ist möglicherweise ein SecurityProvider-Patch für die Kommunikation mit dem Server. Weitere Informationen zur Arbeit mit SSL unter Android siehe Sicherheit GMS Anbieter. Der Artikel enthält außerdem Codebeispiele zum Patchen des Sicherheitsanbieters.

Nächste Schritte

Karte einrichten