Melakukan inisialisasi Consumer SDK

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:

  1. Mendapatkan instance ConsumerAPI
  2. Melakukan inisialisasi Maps SDK untuk meminta perender yang dipilih

Mendapatkan instance ConsumerApi

Untuk menggunakan Consumer SDK, aplikasi Anda perlu melakukan inisialisasi singleton ConsumerApi 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 selengkapnya informasi tentang cara membuat project Fleet Engine, lihat Buat 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 meringkas perender default berdasarkan versi Maps SDK dan dukungan dari kedua perender. Jika memungkinkan, gunakan perender terbaru. Jika Anda harus menggunakan perender lama, tentukan 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 secara 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 atau ConsumerMapView.

  • Menempatkan penanda di ConsumerMapView.

Jika Anda tidak menjalankan operasi ini setelah menerima OnMapsSdkInitializedCallback, Maps SDK tidak mengalokasikan perender yang disukai dan tampilan peta akan dirender oleh perender default.

Melakukan inisialisasi Maps SDK sebelum melakukan inisialisasi Consumer SDK

  1. Di class Application atau Activity start-up, panggil MapsInitializer.initialize()

  2. 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 dengan aman dengan layanan Fleet Engine. Android API versi 23 atau yang lebih lama mungkin memerlukan Patch SecurityProvider untuk berkomunikasi dengan server. Untuk informasi selengkapnya cara menggunakan SSL di Android, lihat GMS Keamanan Penyedia. Artikel ini juga berisi contoh kode untuk melakukan patch pada penyedia keamanan.

Langkah berikutnya

Menyiapkan peta