ก่อนเริ่มกระบวนการเหล่านี้ โปรดตรวจสอบว่าคุณได้เปิดใช้บริการและ Consumer SDK ที่เหมาะสมตามที่อธิบายไว้ในส่วนก่อนหน้า
หากต้องการเริ่มต้นใช้งาน Consumer 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
ในคลาส
Application
หรือคลาสเริ่มต้นActivity
ให้เรียกใช้ MapsInitializer.initialize()รอผลลัพธ์คำขอโปรแกรมแสดงผลก่อนเริ่มต้นใช้งาน 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 การรักษาความปลอดภัย
บทความนี้ยังมีตัวอย่างโค้ดสำหรับการปะแก้ผู้ให้บริการรักษาความปลอดภัยด้วย