Chính sách về SDK Maps dành cho Android

Chủ đề này cung cấp các yêu cầu về việc phân bổ cho tất cả ứng dụng được phát triển bằng SDK Maps dành cho Android, bao gồm cả dịch vụ Tự động hoàn thành địa điểm thuộc API đó. Để biết thêm các điều khoản của Nền tảng Google Maps, hãy xem Điều khoản dịch vụ của Nền tảng Google Maps.

Cung cấp điều khoản sử dụng và chính sách quyền riêng tư

Nếu phát triển SDK Maps dành cho ứng dụng Android, bạn phải cung cấp Điều khoản sử dụngChính sách quyền riêng tư cho ứng dụng của bạn khi ứng dụng đáp ứng các nguyên tắc nêu trong Thỏa thuận của bạn với Google:

  • Điều khoản sử dụngChính sách quyền riêng tư phải được cung cấp công khai.
  • Bạn phải nêu rõ trong Điều khoản sử dụng của ứng dụng rằng bằng cách sử dụng ứng dụng, người dùng sẽ bị ràng buộc bởi Điều khoản dịch vụ của Google.
  • Bạn phải thông báo cho người dùng trong Chính sách quyền riêng tư của mình rằng bạn đang sử dụng(các) API của Google Maps và đưa vào bằng cách tham khảo Chính sách quyền riêng tư của Google.

Bạn nên cung cấp Điều khoản sử dụngChính sách quyền riêng tư của ứng dụng theo cách phù hợp với nền tảng của ứng dụng.

Ứng dụng dành cho thiết bị di động

Nếu phát triển ứng dụng dành cho thiết bị di động, bạn nên cung cấp đường liên kết đến Điều khoản sử dụngChính sách quyền riêng tư trên trang tải xuống của ứng dụng trong cửa hàng ứng dụng phù hợp và trong trình đơn cài đặt ứng dụng.

Ứng dụng web

Nếu phát triển một ứng dụng web, bạn nên cung cấp đường liên kết đến Điều khoản sử dụngChính sách quyền riêng tư ở chân trang web của mình.

Tìm nạp trước, Lưu vào bộ nhớ đệm hoặc Lưu trữ nội dung

Các ứng dụng sử dụng SDK Maps dành cho Android chịu sự ràng buộc của các điều khoản trong Thỏa thuận của bạn với Google. Theo các điều khoản trong Thoả thuận của bạn, bạn không được tìm nạp trước, lập chỉ mục, lưu trữ hoặc lưu nội dung vào bộ nhớ đệm, trừ các điều kiện bị giới hạn đã nêu trong các điều khoản.

Hiển thị SDK bản đồ dành cho kết quả Android

Bạn có thể hiển thị SDK bản đồ dành cho kết quả Android trên Google Maps hoặc không cần bản đồ. Nếu bạn muốn hiển thị SDK bản đồ dành cho Android trong bản đồ, thì những kết quả này phải được hiển thị trên Google Maps. Chúng tôi cấm sử dụng SDK Maps dành cho dữ liệu Android trên bản đồ không phải là bản đồ của Google.

Nếu ứng dụng của bạn hiển thị dữ liệu trên Google Maps, thì biểu tượng Google sẽ được đưa vào và không thể thay đổi. Những ứng dụng hiển thị dữ liệu của Google trên cùng một màn hình với Google Maps không bắt buộc phải cung cấp thêm thông tin cho Google.

Nếu ứng dụng của bạn hiển thị dữ liệu trên một trang hoặc chế độ xem không hiển thị Google Maps, thì bạn phải hiển thị một biểu trưng của Google kèm theo dữ liệu đó. Ví dụ: nếu ứng dụng của bạn hiển thị dữ liệu của Google trên một thẻ và Google Maps có dữ liệu đó trên một thẻ khác, thì thẻ đầu tiên phải hiển thị biểu trưng của Google. Nếu ứng dụng của bạn sử dụng các trường tìm kiếm có hoặc không có tính năng tự động hoàn thành, thì biểu tượng phải hiển thị nội tuyến.

Biểu tượng Google phải được đặt ở góc dưới cùng bên trái của bản đồ, với thông tin ghi công được đặt ở góc dưới cùng bên phải, cả hai thông tin này phải hiển thị trên toàn bộ bản đồ và không nằm dưới bản đồ hoặc một vị trí khác trong ứng dụng. Ví dụ về bản đồ sau đây thể hiện biểu tượng của Google ở phía dưới bên trái của bản đồ và mô hình phân bổ ở phía dưới bên phải.

Tệp zip sau đây có chứa biểu tượng Google với kích thước chính xác cho máy tính, ứng dụng Android và iOS. Bạn không được đổi kích thước hoặc sửa đổi các biểu trưng này theo bất kỳ cách nào.

Tải xuống: google_logo.zip

Đừng sửa đổi thông tin ghi công. Đừng loại bỏ, che khuất hoặc cắt thông tin phân bổ. Bạn không được sử dụng các biểu trưng của Google nội dòng (ví dụ: "Các bản đồ này là của [Google_logo]").

Đóng mọi thông tin ghi nhận sự đóng góp. Nếu bạn sử dụng ảnh chụp màn hình cho hình ảnh của Google bên ngoài video nhúng trực tiếp, hãy thêm thuộc tính chuẩn vào hình ảnh đó. Nếu cần, bạn có thể tùy chỉnh kiểu và vị trí của văn bản ghi công, miễn là văn bản đó nằm gần nội dung và dễ đọc đối với người xem hoặc người đọc thông thường. Bạn không được di chuyển thông tin ghi nhận tác giả ra khỏi nội dung, chẳng hạn như phần cuối của cuốn sách, ghi công của tệp hoặc chương trình hay chân trang web của bạn.

Thêm nhà cung cấp dữ liệu bên thứ ba. Một số dữ liệu và hình ảnh trên các sản phẩm liên kết của chúng tôi là của các nhà cung cấp không phải của Google. Nếu sử dụng hình ảnh như vậy, thì phần văn bản trong thông tin ghi công của bạn phải là tên "Google" và(các) nhà cung cấp dữ liệu có liên quan, chẳng hạn như "Dữ liệu bản đồ: Google, Maxar Technologies;" Khi có các nhà cung cấp dữ liệu bên thứ ba được trích dẫn kèm theo hình ảnh, chỉ bao gồm "Google" hoặc biểu tượng Google không phải là sự phân bổ thích hợp.

Nếu bạn đang sử dụng Nền tảng Google Maps trên một thiết bị không hiển thị mô hình phân bổ, vui lòng liên hệ với nhóm bán hàng của Google để thảo luận về các giấy phép phù hợp với trường hợp sử dụng của bạn.

Các yêu cầu khác về thuộc tính

Hãy làm theo hướng dẫn này để truy xuất dữ liệu phân bổ của bên thứ ba và hiển thị các mô hình phân bổ trong ứng dụng của bạn.

Truy xuất dữ liệu phân bổ từ một Địa điểm

Nếu ứng dụng của bạn hiển thị thông tin có được bằng cách gọi nhận địa điểm theo mã nhận dạng, thì ứng dụng cũng phải hiển thị thông tin phân bổ của bên thứ ba để biết thông tin về địa điểm.

API trả về một Place. Để truy xuất dữ liệu phân bổ từ Place, hãy gọi Place.getAttributions(). Phương thức này trả về một String hoặc một chuỗi trống nếu không có thuộc tính nào để hiển thị.

String placeId = "INSERT_PLACE_ID_HERE";
List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    textView.append("Place found: " + place.getName());
    textView.append("Attributions: " + place.getAttributions());
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        // Handle the error.
    }
});

Hiển thị ghi nhận tác giả cho ảnh

Nếu ứng dụng của bạn hiển thị ảnh, bạn phải hiển thị thông tin ghi công cho mỗi ảnh có ảnh. Để nhận thông tin ghi nhận sự đóng góp cho ảnh, hãy gọi PhotoMetadata.getAttributions(). Phương thức này trả về một trình tự ký tự HTML hoặc một chuỗi trống nếu không có thuộc tính nào để hiển thị.

// Get the photo metadata from the Place object.
PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0);

// Get the attribution text.
String attributions = photoMetadata.getAttributions();

Hiển thị thông tin phân bổ của bên thứ ba

Các thông tin ghi công cho nhà cung cấp bên thứ ba chứa nội dung và đường liên kết ở định dạng HTML mà bạn phải giữ nguyên và hiển thị cho người dùng ở định dạng mà họ được cung cấp. Bạn nên hiển thị thông tin này bên dưới thông tin chi tiết về địa điểm.

API tạo thuộc tính cho tất cả các vị trí mà ứng dụng sử dụng. Các thuộc tính được cung cấp cho mỗi lệnh gọi API, không phải theo mỗi vị trí.

Một cách để hiển thị thông tin ghi công là sử dụng TextView. Ví dụ:

TextView attributionsText = (TextView) findViewById(R.id.attributions);
String thirdPartyAttributions = place.getAttributions();
attributionsText.setText(thirdPartyAttributions);

Ví dụ về mô hình phân bổ của bên thứ ba

Listings by <a href="https://www.example.com/">Example Company</a>

Xin lưu ý rằng mã địa điểm (dùng để xác định duy nhất một địa điểm) sẽ bị loại trừ khỏi hạn chế lưu vào bộ nhớ đệm. Do đó, bạn có thể lưu trữ các giá trị mã địa điểm vô thời hạn. Mã địa điểm được trả về trong trường place_id trong SDK Maps dành cho phản hồi Android.

Nguyên tắc định kiểu cho mô hình phân bổ trên Google

Sau đây là các nguyên tắc định kiểu cho các mô hình phân bổ của Google trong CSS và HTML nếu bạn không sử dụng được biểu trưng của Google có thể tải xuống.

Không gian trống

Lượng không gian trống xung quanh khoá phải bằng hoặc lớn hơn chiều cao của "G" trong Google.

Khoảng cách giữa bản sao phân bổ và biểu tượng của Google phải bằng một nửa chiều rộng của "G"

Mức độ dễ đọc

Dòng tên tác giả phải luôn rõ ràng, dễ đọc và xuất hiện với biến thể màu sắc phù hợp cho một nền nhất định. Luôn đảm bảo cung cấp đủ độ tương phản cho biến thể biểu tượng mà bạn chọn.

Màu

Sử dụng văn bản Google Material Grey 700 trên nền trắng hoặc sáng sử dụng dải màu tối đa từ 0%–40%.

Google
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

Trên nền tối hơn và trên các mẫu ảnh chụp hoặc ảnh không bận, hãy sử dụng văn bản màu trắng cho dòng tên tác giả và thuộc tính.

Google
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

Phông chữ

Sử dụng phông chữ Roboto.

Ví dụ về CSS

CSS sau đây khi được áp dụng cho văn bản "Google," sẽ kết xuất "Google" với phông chữ, màu sắc và khoảng cách thích hợp trên nền trắng hoặc sáng.

font-family: Roboto;
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 16px;
padding: 16px;
letter-spacing: 0.0575em; /* 0.69px */
color: #5F6368;