เริ่มต้น 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 รองรับโปรแกรมแสดงผลล่าสุด รองรับโปรแกรมแสดงผลรุ่นเดิม โปรแกรมแสดงผลเริ่มต้น
V18.1.0 และต่ำกว่า ใช่ ใช่ เดิม*
V18.2.0 ใช่ ใช่ ล่าสุด

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

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

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

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