เริ่มต้น 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 ทั้งหมด after 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 ความปลอดภัย ผู้ให้บริการ บทความนี้ยังมีตัวอย่างโค้ดสำหรับแพตช์ผู้ให้บริการด้านความปลอดภัยด้วย

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

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