เริ่มต้น SDK ของผู้บริโภค

ก่อนเริ่มกระบวนการเหล่านี้ โปรดตรวจสอบว่าคุณได้เปิดใช้บริการและ Consumer SDK ที่เหมาะสมตามที่อธิบายไว้ในส่วนก่อนหน้านี้

หากต้องการเริ่มต้น Consumer SDK ให้ทำตามขั้นตอนต่อไปนี้

  1. รับอินสแตนซ์ ConsumerAPI
  2. เริ่มต้น Maps SDK เพื่อขอตัวแสดงผลที่ต้องการ

รับอินสแตนซ์ ConsumerApi

หากต้องการใช้ Consumer SDK แอปของคุณต้องเริ่มต้น Singleton ConsumerApi แบบไม่พร้อมกัน วิธีการเริ่มต้นจะใช้เมธอด AuthTokenFactory เพื่อสร้างโทเค็น JWT ใหม่สำหรับผู้ใช้เมื่อจำเป็น

providerId คือรหัสโปรเจ็กต์ของโปรเจ็กต์ Google Cloud สำหรับข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับการสร้างโปรเจ็กต์ Fleet Engine โปรดดู สร้างโปรเจ็กต์ Fleet Engine ในคู่มือ Fleet Engine

แอปของคุณควรใช้ AuthTokenFactory ตามที่อธิบายไว้ใน SDK ของผู้บริโภค การตรวจสอบสิทธิ์

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 และ Maps

Consumer SDK เวอร์ชัน 2.0.0 ขึ้นไปรองรับ Maps SDK สำหรับ Android เวอร์ชัน 18.1.0 และ ในภายหลัง ตารางต่อไปนี้สรุปตัวแสดงผลเริ่มต้นตามเวอร์ชัน Maps SDK และการรองรับของโหมดแสดงภาพทั้ง 2 ภาพ หากเป็นไปได้ ให้ใช้โหมดแสดงภาพล่าสุด หากคุณต้องใช้ตัวแสดงผลแบบเดิม ให้ระบุอย่างชัดเจนโดยใช้ MapsInitializer.initialize()

เวอร์ชันของ Maps SDK รองรับโหมดแสดงภาพล่าสุด รองรับโหมดแสดงภาพเดิม ตัวแสดงผลเริ่มต้น
เวอร์ชัน 18.1.0 และเวอร์ชันที่ต่ำกว่า ใช่ ใช่ เดิม*
V18.2.0 ใช่ ใช่ ล่าสุด

* เมื่อมีการเปิดตัว Maps Renderer โฉมใหม่ โหมดแสดงภาพล่าสุดจะเป็น "ค่าเริ่มต้น"

หากต้องใช้โปรแกรมแสดงผลที่ต้องการ ให้เรียกใช้การดำเนินการทั้งหมดในการแสดงผล UIหลังจาก OnMapsSdkInitializedCallback แสดงผลลัพธ์ การแสดงผล UI ประกอบด้วยการดำเนินการต่อไปนี้

  • การขยายมุมมองที่มี GoogleMapView หรือ ConsumerMapView

  • การวางเครื่องหมายบน ConsumerMapView

หากคุณไม่ได้เรียกใช้การดำเนินการเหล่านี้หลังจากได้รับ OnMapsSdkInitializedCallback รายการซึ่ง Maps SDK จะไม่จัดสรร โหมดแสดงภาพที่ต้องการและมุมมองแผนที่จะแสดงผลโดยตัวแสดงผลเริ่มต้นแทน

เริ่มต้น Maps SDK ก่อนเริ่มใช้ SDK ของผู้บริโภค

  1. ในชั้นเรียน Application หรือ Activity ที่เพิ่งเริ่มต้น โปรดโทร MapsInitializer.initialize()

  2. รอผลลัพธ์ของคําขอโปรแกรมแสดงผลก่อนที่จะเริ่มต้นใช้งาน Consumer SDK

ดูตัวอย่างต่อไปนี้สำหรับรายละเอียด

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

หมายเหตุเกี่ยวกับ SSL/TLS

การใช้ Consumer SDK ภายในองค์กรจะใช้ SSL/TLS เพื่อสื่อสารอย่างปลอดภัย ด้วยบริการ Fleet Engine Android API เวอร์ชัน 23 หรือต่ำกว่าอาจต้องใช้SecurityProviderแพตช์เพื่อสื่อสารกับเซิร์ฟเวอร์ หากต้องการดูข้อมูลเพิ่มเติม เกี่ยวกับการทำงานกับ SSL ใน Android โปรดดู GMS ความปลอดภัย ผู้ให้บริการ บทความนี้ยังมีตัวอย่างโค้ดสำหรับการปะแก้ผู้ให้บริการรักษาความปลอดภัยด้วย

ขั้นตอนถัดไป

ตั้งค่าแผนที่