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

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

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

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

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

หากต้องการใช้ Consumer SDK แอปของคุณต้องเริ่มต้นใช้งานแบบซิงเกิลตันแบบไม่พร้อมกัน 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 รองรับโปรแกรมแสดงผลล่าสุด รองรับโปรแกรมแสดงผลรุ่นเดิม โปรแกรมแสดงผลเริ่มต้น
เวอร์ชัน 18.1.0 และต่ำกว่า ใช่ ใช่ เดิม*
V18.2.0 ใช่ ใช่ ล่าสุด

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

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

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

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

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

เริ่มต้น Maps SDK ก่อนเริ่มต้น Consumer 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 การรักษาความปลอดภัย บทความนี้ยังมีตัวอย่างโค้ดสำหรับการแก้ไขผู้ให้บริการรักษาความปลอดภัยด้วย

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

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