เริ่มต้น 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 ตามที่อธิบายไว้ในการตรวจสอบสิทธิ์ 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 Renderer ใหม่ ตัวเรนเดอร์ล่าสุดจะเป็นค่าเริ่มต้น

หากคุณต้องใช้ตัวเรนเดอร์ที่ต้องการ ให้รันการดำเนินการเรนเดอร์ 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 อย่างปลอดภัย API ของ Android เวอร์ชัน 23 หรือก่อนหน้าอาจต้องใช้แพตช์ SecurityProvider เพื่อสื่อสารกับเซิร์ฟเวอร์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ SSL ใน Android โปรดดูที่ผู้ให้บริการ GMS ด้านความปลอดภัย บทความนี้ยังมีตัวอย่างโค้ดสำหรับการแก้ไขผู้ให้บริการด้านความปลอดภัยด้วย

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

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