SDK người tiêu dùng dành cho Android cho phép bạn tạo ứng dụng Chia sẻ chuyến đi bằng một cấu trúc mô-đun. Bạn có thể dùng các phần của API mà mình muốn để sử dụng cho ứng dụng cụ thể của bạn cũng như tích hợp chúng với API của riêng bạn. SDK dành cho người tiêu dùng API dành cho các tính năng khác nhau được đóng gói thành các mô-đun riêng biệt.
Nếu ứng dụng Chia sẻ chuyến đi sử dụng các phiên bản cũ của SDK Người tiêu dùng, bạn sẽ cần nâng cấp ứng dụng của mình để sử dụng cấu trúc mô-đun này. Chiến dịch này hướng dẫn di chuyển mô tả cách nâng cấp ứng dụng của bạn.
Tổng quan
Ra mắt cấu trúc mô-đun SDK tiêu dùng đối tượng Phiên lưu giữ trạng thái giao diện người dùng. Trong các phiên bản trước của SDK người tiêu dùng, các ứng dụng được lưu chuyển giữa các trạng thái. Bằng cấu trúc mô-đun này, bạn sẽ tạo một đối tượng Phiên và có tuỳ chọn hiển thị phiên hoạt động trên bản đồ. Nếu không có phiên nào được hiển thị, bản đồ trống. Không còn cụm từ "trống" hoặc "đã khởi chạy" trạng thái.
Đối tượng Phiên đại diện cho một thực thể sử dụng vòng đời duy nhất của mô-đun. Phiên là điểm truy cập trong các API mô-đun. Ví dụ: Phiên Chia sẻ hành trình diễn ra sau một chuyến đi duy nhất. Bạn tương tác với đối tượng Phiên để theo dõi chuyến đi.
Đối tượng Phiên được liên kết với một loại mô-đun. của đối tượng Phiên được liên kết với vòng đời của đối tượng dùng để khởi tạo đối tượng đó.
Giả sử bạn tạo một đối tượng TripModel
để theo dõi TRIP_A.
Nếu cố gắng lấy lại đối tượng TripModel
cho TRIP_A, bạn sẽ
nhận được cùng một đối tượng TripModel
. Để theo dõi TRIP_B, hãy lấy
Đối tượng TripModel
.
Trạng thái phiên
Một phiên có thể ở một trong nhiều trạng thái:
Phiên đã tạo được biểu thị bằng đối tượng Phiên. Bạn tạo một phiên bằng cách gọi phương thức
create
. Ví dụ:JourneySharingSession sessionA = JourneySharingSession.createInstance(TripModelA)
Phiên đã bắt đầu được đăng ký để cập nhật dữ liệu và giá trị của các phần tử trên giao diện người dùng. Bạn bắt đầu một phiên bằng cách gọi hàm
start
. Ví dụ:sessionA.start()
Một phiên đã hiển thị sẽ tự động bắt đầu. Hiển thị các phần tử điện tử trên giao diện người dùng và cập nhật chúng để phản hồi với cập nhật dữ liệu. Bạn hiển thị một phiên bằng cách gọi phương thức
showSession
. Ví dụ:ConsumerController.showSession(sessionA)
Phiên đã dừng sẽ ngừng làm mới dữ liệu và ngừng cập nhật dữ liệu các phần tử trên giao diện người dùng. Bạn dừng một phiên bằng cách gọi phương thức
stop
. Ví dụ:sessionA.stop()
Sử dụng các thành phần chỉ có dữ liệu và giao diện người dùng
Bạn có thể tạo ứng dụng đi chung xe bằng cách sử dụng các thành phần chỉ có dữ liệu hoặc API phần tử giao diện người dùng do Giải pháp gọi xe và giao hàng theo yêu cầu cung cấp.
Sử dụng thành phần chỉ có dữ liệu
Cách tạo ứng dụng đi chung xe bằng các thành phần chỉ có dữ liệu:
- Khởi động một đối tượng
ConsumerApi
. - Lấy đối tượng
TripModelManager
quaConsumerApi
. - Bắt đầu theo dõi chuyến đi bằng
TripModelManager
để nhận đối tượngTripModel
. - Đăng ký các lệnh gọi lại trên đối tượng
TripModel
.
Ví dụ sau đây cho thấy cách sử dụng các thành phần chỉ có dữ liệu:
TripModelManager tripManager = ConsumerApi.getTripModelManager();
TripModel tripA = tripManager.getTripModel("trip_A");
tripA.registerTripCallback(new TripModelCallback() {})
Sử dụng các API phần tử giao diện người dùng
Dùng đối tượng ConsumerController
để truy cập
API phần tử giao diện người dùng của Giải pháp gọi xe và giao hàng theo yêu cầu.
Để tạo ứng dụng đi chung xe với giao diện người dùng của Giải pháp gọi xe và giao hàng theo yêu cầu API phần tử:
- Khởi động đối tượng
ConsumerApi
. - Lấy đối tượng
TripModelManager
từ đối tượngConsumerApi
. - Lấy đối tượng
TripModel
từTripModelManager
để theo dõi một chuyến đi. - Thêm
ConsumerMap[View/Fragment]
vào thành phần hiển thị ứng dụng. - Lấy đối tượng
ConsumerController
từConsumerMap[View/Fragment]
. - Cung cấp đối tượng
TripModel
cho Trình điều khiển để lấy đối tượngJourneySharingSession
. - Sử dụng Trình điều khiển để hiển thị
JourneySharingSession
.
Ví dụ sau đây cho thấy cách sử dụng các API giao diện người dùng:
TripModelManager tripManager = ConsumerApi.getTripModelManager();
TripModel tripA = TripModelManager.getTripModel("trip_A");
// Session is NOT automatically started when created.
JourneySharingSession jsSessionA = JourneySharingSession.createInstance(tripA);
JourneySharingSession jsSessionB = JourneySharingSession.createInstance(tripB);
// But a session is automatically started when shown.
ConsumerController.showSession(jsSessionA);
ConsumerController.showSession(jsSessionB); // hides trip A; shows trip B.
ConsumerController.hideAllSessions(); // don't show any sessions
// Unregister listeners and delete UI elements of jsSessionA.
consumerController.showSession(jsSessionA);
jsSessionA.stop();
// Recreates and shows UI elements of jsSessionA.
jsSessionA.start();
Thay đổi mã cấu trúc mô-đun
Nếu ứng dụng Chia sẻ chuyến đi sử dụng các phiên bản cũ của SDK Người tiêu dùng, cấu trúc mô-đun được cập nhật sẽ yêu cầu một số thay đổi đối với mã của bạn. Phần này mô tả một số thay đổi đó.
Quyền truy cập vị trí
FINE_LOCATION
quyền không còn cần thiết nữa
bởi Người tiêu dùng SDK.
Giám sát chuyến đi
Cấu trúc mô-đun được cập nhật yêu cầu thay đổi mã cho cả hai lớp dữ liệu và giao diện người dùng.
Trong các phiên bản cũ, người dùng lớp dữ liệu có thể xử lý giám sát chuyến đi bằng mã sau:
ConsumerApi.initialize()
TripModelManager manager = ConsumerApi.getTripManager()
manager.setActiveTrip("trip_id")
manager.registerActiveTripCallback(new TripModelCallback() {})
Khi sử dụng cấu trúc mô-đun, người dùng lớp dữ liệu sẽ sử dụng mã sau:
ConsumerApi.initialize()
TripModelManager manager = ConsumerApi.getTripManager()
TripModel tripA = TripModelManager.getTrip("trip_A")
tripA.registerTripCallback(new TripModelCallback() {})
Trong các phiên bản cũ, người dùng giao diện người dùng có thể xử lý tính năng theo dõi chuyến đi bằng mã sau:
ConsumerApi.initialize()
TripModelManager manager = ConsumerApi.getTripManager()
manager.setActiveTrip("trip_id")
ConsumerController controller = consumerGoogleMap.getConsumerController();
consumerController.startJourneySharing()
Khi sử dụng cấu trúc mô-đun, người dùng giao diện người dùng sẽ sử dụng mã sau:
ConsumerApi.initialize()
TripModelManager manager = ConsumerApi.getTripManager()
TripModel tripA = TripModelManager.getTripModel("trip_A");
ConsumerController controller = consumerGoogleMap.getConsumerController();
JourneySharingSession jsSessionA = JourneySharingSession.createInstance(tripA);
controller.showSession(jsSessionA);
Căn giữa bản đồ
Phân đoạn hoặc chế độ xem bản đồ không còn phóng to đến vị trí của người dùng khi khởi chạy khi không có phiên nào hoạt động. Chế độ này vẫn sẽ tự động thu phóng để hiển thị phiên Chia sẻ hành trình đang hoạt động trong thời gian khi tính năng AutoCamera được bật. Máy ảnh tự động được bật theo mặc định.
Trong các phiên bản trước, bạn sẽ sử dụng mã sau để căn giữa camera cho phiên hoạt động hiện tại:
consumerController.centerMapForState()
Khi dùng cấu trúc mô-đun, bạn sẽ dùng mã sau:
CameraUpdate cameraUpdate = consumerController.getCameraUpdate()
if (cameraUpdate != null) {
googleMap.animateCamera(cameraUpdate);
// OR googleMap.moveCamera(cameraUpdate);
}
Để tắt tính năng AutoCamera trong các phiên bản cũ, bạn có thể dùng đoạn mã sau:
consumerController.disableAutoCamera(true);
Khi dùng cấu trúc mô-đun, bạn sẽ dùng mã sau:
consumerController.setAutoCameraEnabled(false);
Tuỳ chỉnh
FAB tuỳ chỉnh cho Giải pháp gọi xe và giao hàng theo yêu cầu đã bị xoá khỏi bản đồ.
Các phương thức liên kết cho FAB cũng đã bị xoá:
ConsumerController.isMyLocationFabEnabled()
ConsumerController.setMyLocationFabEnabled()