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

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

หากต้องการเริ่มต้น SDK สำหรับผู้บริโภค ให้ทำตามขั้นตอนต่อไปนี้

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

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

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

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

แอปของคุณควรใช้ AuthTokenFactory ตามที่อธิบายไว้ในการตรวจสอบสิทธิ์ Consumer 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 และเครื่องมือแสดงผลแผนที่

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

เวอร์ชัน Maps SDK รองรับโปรแกรมแสดงผลล่าสุด รองรับโปรแกรมแสดงผลเวอร์ชันเดิม โปรแกรมแสดงผลเริ่มต้น
V18.1.0 และต่ำกว่า ใช่ ใช่ เดิม*
V18.2.0 ใช่ ใช่ ล่าสุด

* เมื่อเปิดตัวโปรแกรมแสดงผลแผนที่ใหม่ โปรแกรมแสดงผลล่าสุดจะเป็นค่าเริ่มต้น

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

  • การเพิ่มยอดดูที่มีGoogleMapViewหรือConsumerMapView

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

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

เริ่มต้น Maps SDK ก่อนเริ่มต้น Consumer SDK

  1. ในคลาส Application หรือสตาร์ทอัป Activity ให้เรียกใช้ MapsInitializer.initialize()

  2. รอผลลัพธ์ของคำขอโปรแกรมแสดงผลก่อนเริ่มต้น 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 ได้ที่Security GMS Provider นอกจากนี้ บทความยังมีตัวอย่างโค้ดสำหรับการแก้ไขผู้ให้บริการด้านความปลอดภัยด้วย

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

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