Trước khi bắt đầu các quy trình này, hãy đảm bảo bạn đã bật và SDK Người tiêu dùng như mô tả ở các phần trước.
Để khởi chạy SDK người tiêu dùng, hãy làm theo các bước sau:
Tải thực thể ConsumerApi
Để sử dụng SDK người tiêu dùng, ứng dụng của bạn cần khởi chạy singleton
ConsumerApi
không đồng bộ. Phương thức khởi chạy sẽ lấy giá trị
AuthTokenFactory
để tạo mã thông báo JWT mới cho người dùng khi cần thiết.
providerId
là Mã 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 của 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 đồ
SDK người tiêu dùng phiên bản 2.0.0 trở lên hỗ trợ SDK bản đồ dành cho Android phiên bản 18.1.0 và
sau. Bảng sau đây tóm tắt trình kết xuất đồ hoạ mặc định theo phiên bản SDK Maps
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 đồ hoạ mới nhất.
Nếu bạn 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 SDK Maps | Hỗ trợ trình kết xuất đồ hoạ mới nhất | Hỗ trợ trình kết xuất cũ | Trình kết xuất đồ hoạ mặc định |
---|---|---|---|
Phiên bản 18.1.0 trở xuống | Có | Có | Cũ* |
Phiên bản 18.2.0 | Có | Có | Mới nhất |
* Với việc phát hành Trình kết xuất Maps mới, trình kết xuất mới nhất sẽ là 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 hiển thị trên giao diện người dùng
sau OnMapsSdkInitializedCallback
sẽ trả về một kết quả. Hiển thị giao diện người dùng
phép toán bao gồm các phép toán sau:
Tăng cường khung hiển thị chứa
GoogleMapView
hoặcConsumerMapView
.Đặt điểm đánh dấu trên
ConsumerMapView
.
Nếu bạn không chạy các tác vụ này sau khi nhận được
OnMapsSdkInitializedCallback
kết quả, SDK Maps sẽ không phân bổ
trình kết xuất đồ hoạ ưu tiên và chế độ xem bản đồ lại được trình kết xuất đồ hoạ mặc định kết xuất.
Khởi chạy SDK Bản đồ trước khi khởi chạy SDK Người dùng
Trong lớp
Application
hoặc lớpActivity
đã khởi động, hãy gọi MapsInitializer.initialize()Chờ kết quả yêu cầu trình kết xuất trước khi khởi chạy SDK người tiêu dùng.
Hãy xem các ví dụ sau để 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
Trong nội bộ, việc triển khai SDK người tiêu dùng sử dụng SSL/TLS để giao tiếp an toàn
nhờ dịch vụ Fleet Engine. API Android phiên bản 23 trở xuống có thể yêu cầu
Bản vá SecurityProvider
để giao tiếp với máy chủ. Thông tin khác
về cách làm việc với SSL trong Android, hãy xem phần Bảo mật GMS
Nhà cung cấp.
Bài viết này cũng chứa các mã mẫu để vá trình cung cấp dịch vụ bảo mật.