Zanim rozpoczniesz te procedury, włącz odpowiednie usługi i pakiet Consumer SDK zgodnie z opisem w poprzednich sekcjach.
Aby zainicjować pakiet Consumer SDK, wykonaj te czynności:
- Pobierz instancję 
ConsumerAPI - Inicjowanie pakietu SDK Map w celu wysłania prośby o preferowany moduł renderujący
 
Pobieranie instancji ConsumerApi
Aby korzystać z pakietu SDK dla konsumentów, aplikacja musi zainicjować singletona
ConsumerApi asynchronicznie. Metoda inicjowania przyjmuje klasę AuthTokenFactory, aby w razie potrzeby generować dla użytkownika nowe tokeny JWT.
providerId to identyfikator projektu w Twoim projekcie Google Cloud. Więcej informacji o tworzeniu projektu Fleet Engine znajdziesz w artykule Tworzenie projektu Fleet Engine w przewodniku po Fleet Engine.
Aplikacja powinna implementować AuthTokenFactory zgodnie z opisem w sekcji Uwierzytelnianie w pakiecie SDK dla konsumentów.
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
}
Pakiety SDK Map Google i renderery map
Pakiet Consumer SDK w wersji 2.0.0 i nowszych obsługuje pakiet Maps SDK na Androida w wersji 18.1.0 i nowszych. W tabeli poniżej znajdziesz podsumowanie domyślnego renderera według wersji pakietu SDK Map Google oraz informacje o obsłudze obu rendererów. Jeśli to możliwe, użyj najnowszego renderera.
Jeśli musisz użyć starszego renderera, określ go wprost za pomocą tagu MapsInitializer.initialize().
| Wersja pakietu SDK Map Google | Obsługa najnowszego renderera | Obsługa starszego renderowania | Domyślny moduł renderujący | 
|---|---|---|---|
| V18.1.0 i starsze | Tak | Tak | Starsza wersja* | 
| V18.2.0 | Tak | Tak | Najnowsze | 
* Wraz z wprowadzeniem nowego renderowania Map najnowszy renderer będzie domyślny.
Jeśli musisz użyć preferowanego renderera, wykonuj wszystkie operacje renderowania interfejsu po zwróceniu wyniku przez funkcję OnMapsSdkInitializedCallback. Operacje renderowania interfejsu obejmują:
Rozszerzanie widoku, który zawiera
GoogleMapViewlubConsumerMapView.Umieszczanie znaczników w
ConsumerMapView.
Jeśli po otrzymaniu wyniku OnMapsSdkInitializedCallback nie wykonasz tych operacji, pakiet SDK Map Google nie przydzieli preferowanego renderera, a widok mapy będzie renderowany przez domyślny renderer.
Zainicjuj pakiet SDK Maps przed zainicjowaniem pakietu SDK dla konsumentów
W klasie
Applicationlub klasie startowejActivitywywołaj MapsInitializer.initialize().Przed zainicjowaniem pakietu SDK konsumenta poczekaj na wynik żądania renderowania.
Szczegółowe informacje znajdziesz w przykładach poniżej.
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()
      }
    })
  }
Uwagi dotyczące SSL/TLS
Wewnętrznie implementacja pakietu Consumer SDK używa protokołu SSL/TLS do bezpiecznej komunikacji z usługą Fleet Engine. Wersje interfejsu API Androida 23 lub starsze mogą wymagać SecurityProviderpoprawki, aby komunikować się z serwerem. Więcej informacji o pracy z SSL na Androidzie znajdziesz w artykule Security GMS Provider.
Artykuł zawiera też przykłady kodu do aktualizowania dostawcy zabezpieczeń.