Khởi chạy SDK người tiêu dùng

Trước khi bắt đầu các quy trình này, hãy đảm bảo bạn đã bật các dịch vụ phù hợp và Consumer SDK như mô tả trong các phần trước.

Để khởi chạy Consumer SDK, hãy làm theo các bước sau:

  1. Lấy thực thể ConsumerAPI
  2. Khởi chạy Maps SDK để yêu cầu trình kết xuất ưu tiên

Nhận thực thể ConsumerApi

Để sử dụng Consumer SDK, ứng dụng của bạn cần khởi động singleton ConsumerApi không đồng bộ. Phương thức khởi tạo lấy lớp AuthTokenFactory để tạo mã thông báo JWT mới cho người dùng khi cần.

providerIdMã dự án của Dự án trên Google Cloud. Để biết thêm thông tin về cách tạo dự án Fleet Engine, hãy xem phần Tạo dự án Fleet Engine trong hướng dẫn về Fleet Engine.

Ứng dụng của bạn phải triển khai AuthTokenFactory như mô tả trong phần Xác thực SDK người dùng.

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
}

SDK Maps và trình kết xuất bản đồ

Consumer SDK phiên bản 2.0.0 trở lên hỗ trợ Maps SDK cho Android phiên bản 18.1.0 trở lên. Bảng sau đây tóm tắt trình kết xuất mặc định theo phiên bản Maps SDK và khả năng hỗ trợ của cả hai trình kết xuất. Nếu có thể, hãy sử dụng trình kết xuất mới nhất. Nếu phải sử dụng trình kết xuất cũ, hãy chỉ định rõ trình kết xuất đó bằng cách sử dụng MapsInitializer.initialize().

Phiên bản Maps SDK Hỗ trợ trình kết xuất mới nhất Hỗ trợ trình kết xuất cũ Trình kết xuất mặc định
Phiên bản 18.1.0 trở xuống Cũ*
V18.2.0 Mới nhất

* Khi Trình kết xuất Maps mới được triển khai, Trình kết xuất mới nhất sẽ là trình kết xuất mặc định.

Nếu bạn phải sử dụng một trình kết xuất ưu tiên, hãy chạy tất cả các thao tác kết xuất giao diện người dùng sau khi OnMapsSdkInitializedCallback trả về kết quả. Các thao tác kết xuất giao diện người dùng bao gồm những thao tác sau:

  • Tăng cường một khung hiển thị có chứa GoogleMapView hoặc ConsumerMapView.

  • Đặt điểm đánh dấu trên ConsumerMapView.

Nếu bạn không chạy các thao tác này sau khi nhận được kết quả OnMapsSdkInitializedCallback, Maps SDK sẽ không phân bổ trình kết xuất mà bạn muốn và thay vào đó, chế độ xem bản đồ sẽ được trình kết xuất mặc định kết xuất.

Khởi chạy Maps SDK trước khi khởi chạy Consumer SDK

  1. Trong lớp Application hoặc lớp khởi động Activity, hãy gọi MapsInitializer.initialize()

  2. Đợi kết quả yêu cầu trình kết xuất trước khi khởi chạy Consumer SDK.

Hãy xem các ví dụ sau đây để biết thông tin chi tiết.

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()
      }
    })
  }

Lưu ý về SSL/TLS

Về nội bộ, việc triển khai Consumer SDK sử dụng SSL/TLS để giao tiếp an toàn với dịch vụ Fleet Engine. Các phiên bản Android API 23 trở về trước có thể yêu cầu bản vá SecurityProvider để giao tiếp với máy chủ. Để biết thêm thông tin về cách sử dụng SSL trong Android, hãy xem Nhà cung cấp GMS bảo mật. Bài viết này cũng chứa các mẫu mã để vá nhà cung cấp dịch vụ bảo mật.

Bước tiếp theo

Thiết lập bản đồ