Przed rozpoczęciem tych procedur upewnij się, że są włączone odpowiednie opcje i z pakietu SDK Consumer SDK, jak opisano we wcześniejszych sekcjach.
Aby zainicjować pakiet SDK dla klientów indywidualnych, wykonaj te czynności:
- Pobieranie instancji
ConsumerAPI
- Zainicjuj pakiet SDK Maps, aby poprosić o preferowany mechanizm renderowania
Pobieranie instancji ConsumerApi
Aby korzystać z pakietu Consumer SDK, aplikacja musi asynchronicznie zainicjować singletonaConsumerApi
. Metoda inicjowania przyjmuje
AuthTokenFactory
, aby w razie potrzeby wygenerować nowe tokeny JWT dla użytkownika.
providerId
to identyfikator projektu Google Cloud. Więcej
informacje o tworzeniu projektu Fleet Engine znajdziesz w sekcji
Utwórz projekt Fleet Engine w przewodniku Fleet Engine.
Aplikacja powinna implementować AuthTokenFactory
w sposób opisany w pakiecie SDK dla klientów indywidualnych
Uwierzytelnianie.
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 i mechanizmy renderowania map
Pakiet Consumer SDK w wersji 2.0.0 i nowszych obsługuje pakiet Maps SDK na Androida w wersji 18.1.0 oraz
później. W tabeli poniżej znajdziesz podsumowanie domyślnego mechanizmu renderowania według wersji pakietu SDK Map Google
i obsługę obu mechanizmów renderowania. Jeśli to możliwe, użyj najnowszego mechanizmu renderowania.
Jeśli musisz użyć starszego mechanizmu renderowania, jawnie określ go za pomocą
MapsInitializer.initialize()
Wersja pakietu SDK Map | Obsługuje najnowszy mechanizm renderowania | Obsługuje starszy mechanizm renderowania | Domyślny mechanizm renderowania |
---|---|---|---|
Wersja 18.1.0 i starsze | Tak | Tak | Starsza wersja* |
V18.2.0 | Tak | Tak | Najnowsze |
* Po wdrożeniu nowego mechanizmu renderowania Map najnowszym mechanizmem renderowania wartość domyślną.
Jeśli musisz użyć preferowanego mechanizmu renderowania, uruchamiaj wszystkie operacje renderowania UI
po OnMapsSdkInitializedCallback
zwróceniu wyniku. Renderowanie UI
to:
Powiększanie widoku danych, który zawiera
GoogleMapView
lubConsumerMapView
.Ustawiam znaczniki na:
ConsumerMapView
.
Jeśli nie wykonasz tych operacji po otrzymaniu
OnMapsSdkInitializedCallback
wynik, pakiet SDK Maps nie przydziela Twojego
preferowany mechanizm renderowania, a widok mapy jest renderowany przez domyślny mechanizm renderowania.
Zainicjuj pakiet SDK Maps przed zainicjowaniem pakietu Consumer SDK
W klasie
Application
lub start-upActivity
wywołaj metodę MapsInitializer.initialize().Poczekaj na wynik żądania mechanizmu renderowania, zanim zainicjujesz pakiet SDK dla klientów indywidualnych.
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 na temat protokołu SSL/TLS
Wewnętrznie implementacja pakietu SDK klienta korzysta z SSL/TLS do bezpiecznej komunikacji.
z usługą Fleet Engine. Interfejs API Androida w wersji 23 lub starszej może wymagać
Poprawka SecurityProvider
do komunikacji z serwerem. Więcej informacji o używaniu SSL na Androidzie znajdziesz w artykule Usługa zabezpieczeń GMS Provider.
Artykuł zawiera też przykładowy kod, który pozwala zainstalować poprawki u dostawcy zabezpieczeń.