Sebelum memulai prosedur ini, pastikan Anda telah mengaktifkan layanan yang sesuai dan Consumer SDK seperti yang dijelaskan di bagian sebelumnya.
Untuk menginisialisasi Consumer SDK, ikuti langkah-langkah berikut:
- Mendapatkan instance
ConsumerAPI
- Melakukan inisialisasi Maps SDK untuk meminta perender yang dipilih
Mendapatkan instance ConsumerApi
Untuk menggunakan Consumer SDK, aplikasi Anda harus menginisialisasi ConsumerApi
singleton
secara asinkron. Metode inisialisasi menggunakan
class AuthTokenFactory
untuk membuat token JWT baru bagi pengguna jika diperlukan.
providerId
adalah Project ID untuk Project Google Cloud Anda. Untuk informasi selengkapnya tentang cara membuat project Fleet Engine, lihat Membuat project Fleet Engine di panduan Fleet Engine.
Aplikasi Anda harus menerapkan AuthTokenFactory
seperti yang dijelaskan dalam Autentikasi
SDK Konsumen.
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
}
Perender Maps SDK dan Maps
Consumer SDK v2.0.0 dan yang lebih baru mendukung Maps SDK for Android v18.1.0 dan
yang lebih baru. Tabel berikut merangkum perender default menurut versi Maps SDK dan dukungan kedua perender. Jika memungkinkan, gunakan perender terbaru.
Jika Anda harus menggunakan perender lama, tentukan perender secara eksplisit menggunakan MapsInitializer.initialize()
.
Versi Maps SDK | Mendukung perender terbaru | Mendukung perender lama | Perender default |
---|---|---|---|
V18.1.0 dan yang lebih lama | Ya | Ya | Lama* |
V18.2.0 | Ya | Ya | Terbaru |
* Dengan diluncurkannya Perender Maps baru, perender Terbaru akan menjadi default.
Jika Anda harus menggunakan perender pilihan, jalankan semua operasi rendering UI
setelah OnMapsSdkInitializedCallback
menampilkan hasil. Operasi rendering UI
mencakup operasi berikut:
Meng-inflate tampilan yang berisi
GoogleMapView
atauConsumerMapView
.Menempatkan penanda di
ConsumerMapView
.
Jika Anda tidak menjalankan operasi ini setelah menerima hasil OnMapsSdkInitializedCallback
, Maps SDK tidak akan mengalokasikan perender yang Anda pilih dan tampilan peta akan dirender oleh perender default.
Melakukan inisialisasi Maps SDK sebelum melakukan inisialisasi Consumer SDK
Di class
Application
atauActivity
start-up, panggil MapsInitializer.initialize()Tunggu hasil permintaan perender sebelum melakukan inisialisasi Consumer SDK.
Lihat contoh berikut untuk mengetahui detailnya.
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()
}
})
}
Catatan tentang SSL/TLS
Secara internal, penerapan Consumer SDK menggunakan SSL/TLS untuk berkomunikasi secara aman
dengan layanan Fleet Engine. Android API versi 23 atau yang lebih lama mungkin memerlukan
patch SecurityProvider
untuk berkomunikasi dengan server. Untuk mengetahui informasi selengkapnya
tentang menggunakan SSL di Android, lihat Penyedia
GMS Keamanan.
Artikel ini juga berisi contoh kode untuk menerapkan patch pada penyedia keamanan.