Chính sách và thông tin ghi nhận quyền tác giả cho Places SDK for Android

Chủ đề này cung cấp yêu cầu về thông tin ghi công cho tất cả ứng dụng được phát triển bằng SDK Địa điểm cho Android, bao gồm cả dịch vụ Place Autocomplete thuộc API đó. Để biết thêm các điều khoản của Google Maps Platform, hãy xem Điều khoản dịch vụ của Google Maps Platform.

Chính sách

Phần này mô tả các chính sách liên quan đến SDK Địa điểm cho Android. Các chính sách cung cấp các nguyên tắc và yêu cầu triển khai thực tế để giúp bạn sử dụng Dịch vụ một cách chính xác và phù hợp với kỳ vọng của Google Maps Platform.

Các trường hợp ngoại lệ đối với quy định hạn chế về việc lưu vào bộ nhớ đệm

Xin lưu ý rằng mã địa điểm (dùng để xác định duy nhất một địa điểm) được miễn các quy định hạn chế về việc 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 phản hồi của API. Tìm hiểu cách lưu, làm mới và quản lý mã địa điểm trong Hướng dẫn về mã địa điểm.

Các quốc gia và lãnh thổ thuộc Khu vực kinh tế Châu Âu

Sản phẩm này có Điều khoản dịch vụ khác cho khách hàng có địa chỉ thanh toán ở Khu vực kinh tế Châu Âu (EEA) và cũng có thể có chức năng khác. Trước khi xây dựng bằng Google Maps Platform, hãy xem các điều khoản và thông tin sau đây dành riêng cho Khu vực kinh tế Châu Âu (EEA):

Nếu địa chỉ thanh toán của bạn không nằm trong Khu vực kinh tế Châu Âu (EEA), thì bạn sẽ phải tuân theo các điều khoản dịch vụ sau:

Yêu cầu ghi công của Google Maps

Phần này cung cấp các yêu cầu về thông tin ghi công và nguyên tắc hiển thị Google Maps và Nội dung thông qua ứng dụng của bạn.

Ví dụ phân bổ

Sau đây là ví dụ về thông tin ghi công cho Places UI Kit.

Ví dụ về thông tin ghi nhận tác giả của Places UI Kit trên bản đồ không phải của Google
Thông tin ghi nhận tác giả bắt buộc được áp dụng cho thành phần thu gọn Chi tiết địa điểm. Trên bản đồ không phải của Google này, thông tin ghi nhận tác giả của Google Maps hiển thị rõ ràng và nội dung của Google Maps Platform được phân biệt trực quan với nội dung khác.

Hiển thị thông tin ghi nhận tác giả của Google Maps

Bạn phải tuân thủ các yêu cầu về thông tin ghi công của Google Maps khi hiển thị Nội dung từ các API của Google Maps Platform trong ứng dụng hoặc trang web của mình. Bạn không cần thêm thông tin ghi nhận tác giả bổ sung nếu Nội dung được hiển thị trên Google Maps, nơi thông tin ghi nhận tác giả đã xuất hiện.

Có chứa thông tin ghi nhận tác giả trên Google Maps

Đối với thông tin ghi nhận tác giả của Google Maps mà Google Maps Platform đã cung cấp trong giao diện người dùng, chẳng hạn như trong Places UI Kit:

  • Đừng xoá thông tin ghi nhận tác giả đi kèm, bất kể thông tin đó xuất hiện ở đâu. Đừng thay đổi, ẩn hoặc che khuất thông tin ghi nhận tác giả và hãy đảm bảo thông tin này hiển thị rõ ràng trên nền.
  • Luôn phân biệt Nội dung trên Google Maps Platform với nội dung khác bằng cách sử dụng các dấu hiệu trên giao diện người dùng, chẳng hạn như đường viền, màu nền, bóng hoặc khoảng trắng vừa đủ.
  • Khi sửa đổi hình ảnh, bạn phải tuân thủ tất cả các yêu cầu ghi nhận tác giả của Google Maps.

Thông tin ghi nhận tác giả phải có dạng biểu trưng Google Maps bất cứ khi nào có thể. Trong trường hợp không gian bị hạn chế, bạn có thể sử dụng văn bản Google Maps. Người dùng cuối phải luôn biết rõ nội dung nào do Google Maps cung cấp.

Bên trái: Thông tin ghi công biểu trưng của Google Maps, Bên phải: Thông tin ghi công dạng văn bản của Google Maps
Bên trái: Ví dụ về việc ghi nhận tác giả bằng biểu trưng của Google Maps, Bên phải: Ví dụ về việc ghi nhận tác giả bằng văn bản của Google Maps

Thông tin ghi nhận tác giả biểu trưng

Hãy tuân thủ các yêu cầu sau khi sử dụng biểu trưng Google Maps trong ứng dụng hoặc trang web của bạn.
Các biến thể được chấp nhận cho việc ghi nhận tác giả biểu trưng Google Maps
Ví dụ về các biến thể được chấp nhận cho việc ghi nhận tác giả biểu trưng Google Maps

Tải biểu trưng của Google Maps xuống

Sử dụng các tệp biểu trưng chính thức của Google Maps. Tải các biểu trưng bên dưới xuống và làm theo nguyên tắc trong phần này.

Tải tài sản ghi nhận tác giả của Google Maps xuống

Khi sử dụng biểu trưng Google Maps, hãy tuân thủ các nguyên tắc sau.

  • Đừng sửa đổi biểu trưng theo bất kỳ cách nào.
  • Duy trì tỷ lệ khung hình của biểu trưng để tránh bị méo hình.
  • Sử dụng biểu trưng có đường viền trên nền rối mắt, chẳng hạn như bản đồ hoặc hình ảnh.
  • Sử dụng biểu trưng không có đường viền trên nền trơn, chẳng hạn như màu đồng nhất hoặc dải màu tinh tế.

Quy cách về kích thước biểu trưng

Hãy tuân thủ các thông số kỹ thuật về kích thước sau đây cho biểu trưng của Google Maps:
  • Chiều cao tối thiểu của biểu trưng: 16dp
  • Chiều cao tối đa của biểu trưng: 19 dp
  • Khoảng trống tối thiểu xung quanh biểu trưng: 10 dp ở bên trái, bên phải và phía trên, 5 dp ở phía dưới

Để tìm hiểu về dp, hãy xem phần Mật độ pixel trên trang web Material Design.

Biểu trưng Google Maps cho thấy khoảng trống tối thiểu và phạm vi kích thước được chấp nhận
Ví dụ về biểu trưng của Google Maps cho thấy khoảng trống tối thiểu và phạm vi kích thước được chấp nhận

Hỗ trợ tiếp cận biểu trưng

Hãy tuân thủ các yêu cầu sau đây về khả năng hỗ trợ tiếp cận đối với biểu trưng của Google Maps:
Các biến thể không được chấp nhận và vấn đề về khả năng hỗ trợ tiếp cận đối với thông tin ghi nhận tác giả biểu trưng của Google Maps
Ví dụ về các biến thể không được chấp nhận và vấn đề về khả năng hỗ trợ tiếp cận đối với việc ghi nhận tác giả bằng biểu trưng của Google Maps

Thông tin ghi công dạng văn bản

Nếu kích thước giao diện của bạn không hỗ trợ việc sử dụng biểu trưng Google Maps, bạn có thể viết rõ Google Maps bằng văn bản. Thực hiện theo các hướng dẫn sau:

Các biến thể được chấp nhận của thông tin ghi nhận tác giả dạng văn bản của Google Maps
Ví dụ về các biến thể được chấp nhận của thông tin ghi công dạng văn bản của Google Maps
  • Không sửa đổi văn bản Google Maps theo bất kỳ cách nào:
    • Không thay đổi cách viết hoa của Google Maps
    • Đừng xuống dòng cho cụm từ Google Maps
    • Đừng bản địa hoá Google Maps sang ngôn ngữ khác.
    • Ngăn trình duyệt dịch Google Maps bằng cách sử dụng thuộc tính HTML translate="no".
Các biến thể không được chấp nhận của thông tin ghi nhận tác giả dạng văn bản trên Google Maps
Ví dụ về các biến thể không được chấp nhận của thuộc tính văn bản Google Maps
  • Định kiểu văn bản Google Maps như mô tả trong bảng sau:

    Yêu cầu về kiểu văn bản của Google Maps
    Thuộc tính Kiểu
    Bộ phông chữ Roboto. Bạn không bắt buộc phải tải phông chữ.
    Bộ phông chữ dự phòng Bất kỳ phông chữ sans serif nào đã được dùng trong sản phẩm của bạn hoặc "Sans-Serif" để gọi phông chữ mặc định của hệ thống
    Kiểu phông chữ Bình thường
    Độ đậm phông chữ 400
    Màu phông chữ Trắng, đen (#1F1F1F) hoặc xám (#5E5E5E). Duy trì độ tương phản dễ tiếp cận (4,5:1) so với nền.
    Cỡ chữ Cỡ chữ tối thiểu: 12sp
    Cỡ chữ tối đa: 16sp
    Để tìm hiểu về sp, hãy xem phần Đơn vị cỡ chữ trên trang web Material Design.
    Khoảng cách giữa chữ cái Bình thường

CSS mẫu

CSS sau đây hiển thị Google Maps với kiểu chữ và màu sắc phù hợp trên nền trắng hoặc sáng.

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
font-family: Roboto, Sans-Serif;
font-style: normal;
font-weight: 400;
font-size: 1rem;
letter-spacing: normal;
white-space: nowrap;
color: #5e5e5e;
}

Yêu cầu về hình ảnh

Hãy tuân thủ các yêu cầu sau đây về cách trình bày thông tin ghi nhận tác giả của Google Maps.
  • Đặt thông tin ghi nhận tác giả ở gần đầu hoặc cuối nội dung và trong cùng một vùng chứa hình ảnh. Đối với một dòng nội dung, bạn có thể đặt thông tin ghi nhận tác giả ở bên phải hoặc bên trái.

  • Phân biệt Nội dung trên Google Maps Platform với nội dung khác bằng cách sử dụng các dấu hiệu trên giao diện người dùng, chẳng hạn như đường viền, màu nền, bóng hoặc khoảng trắng vừa đủ.

  • Đừng trình bày sai về Google Maps bằng cách gán cho Google Maps nội dung không thuộc Google Maps Platform.
  • Xác minh rằng thông tin ghi nhận tác giả luôn hiển thị và dễ đọc. Tuyệt đối không được xoá, ẩn, che khuất hoặc sửa đổi thông báo này.

Các hình sau đây minh hoạ các yêu cầu về hình ảnh này.

Ví dụ về thông tin ghi nhận tác giả trên Google Maps được đặt ở trên cùng, ở dưới cùng và ở bên cạnh nội dung
Ví dụ về thông tin ghi nhận tác giả của Google Maps được đặt ở trên cùng, dưới cùng và bên cạnh nội dung

Ví dụ về hai cách phân biệt Nội dung trên Google Maps (điểm xếp hạng địa điểm) với nội dung khác
Ví dụ về hai cách phân biệt Nội dung trên Google Maps (điểm xếp hạng địa điểm) với nội dung khác

Đừng che khuất thông tin ghi nhận tác giả của Google Maps hoặc kết hợp thông tin đó với nội dung từ các nguồn khác
Đừng che khuất thông tin ghi nhận tác giả của Google Maps hoặc kết hợp thông tin đó với nội dung từ các nguồn khác

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 bản đồ của chúng tôi đến từ các nhà cung cấp không phải Google. Đối với một số sản phẩm, chẳng hạn như Map Tiles API, chúng tôi có thể cung cấp cho bạn thông tin ghi nhận tác giả bắt buộc đối với nhà cung cấp dữ liệu bên thứ ba. Khi chúng tôi làm như vậy, văn bản ghi nhận tác giả của bạn phải nêu tên "Google Maps" 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 Google cung cấp thông tin ghi nhận tác giả của bên thứ ba, việc chỉ thêm "Google Maps" hoặc biểu trưng Google không phải là cách ghi nhận tác giả đúng cách.

Các yêu cầu khác về việc ghi công

Hãy làm theo các hướng dẫn sau để truy xuất thông tin ghi nhận tác giả của bên thứ ba và hiển thị thông tin ghi nhận tác giả trong ứng dụng của bạn.

Truy xuất thông tin ghi nhận tác giả từ một Địa điểm

Nếu ứng dụng của bạn hiển thị thông tin thu được bằng cách gọi lấy địa điểm theo mã nhận dạng, thì ứng dụng cũng phải hiển thị thông tin ghi nhận tác giả của bên thứ ba cho Place Details thu được.

API này trả về một đối tượng Place. Để truy xuất thông tin ghi nhận tác giả từ đối tượng Place, hãy gọi Place.getAttributions(). Phương thức này trả về một List của các đối tượng String hoặc giá trị rỗng nếu không có thông tin ghi nhận tác giả nào để hiển thị.

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

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
  Place place = response.getPlace();
  textView.append("Place found: " + place.getName());
  List<String> attributions = place.getAttributions();
  if (attributions != null) {
    StringBuilder stringBuilder = new StringBuilder("Attributions: ");
    for (String attribution : attributions) {
      stringBuilder.append(attribution).append("\n");
    }
    textView.append(stringBuilder.toString());
  }}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
      // Handle the error.
    }
  }
);

Hiển thị thông tin ghi công cho ảnh

Nếu ứng dụng của bạn hiển thị ảnh về địa điểm, thì bạn phải cho thấy thông tin ghi nhận tác giả cho mỗi bức ảnh có thông tin này. PhotoMetadata, có thể chứa một trong hai loại thông tin ghi nhận tác giả:

Để lấy thông tin ghi nhận tác giả dạng chuỗi cho một bức ảnh, hãy gọi PhotoMetadata.getAttributions(). Phương thức này trả về một chuỗi ký tự HTML hoặc một chuỗi trống nếu không có thông tin ghi nhận tác giả 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();

Để lấy thông tin ghi nhận tác giả của một bức ảnh, hãy gọi PhotoMetadata.getAuthorAttributions(). Phương thức này trả về một đối tượng AuthorAttributions. Đối tượng này chứa một List gồm các đối tượng AuthorAttribution, mỗi đối tượng cho một thông tin ghi nhận tác giả.

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

// Get the author attributions object.
AuthorAttributions authorAttributions = photoMetadata.getAuthorAttributions();
List<AuthorAttribution> authorAttributionList = authorAttributions.asList();

Thông tin ghi nhận tác giả trong kết quả tìm kiếm

Ở Châu Âu, khi sử dụng hệ thống xếp hạng không bị can thiệp của Google, các sản phẩm tìm kiếm phải có văn bản giải thích (cách không quá 1 lượt nhấp) mô tả các yếu tố chính và trọng số của các yếu tố chính xác định thứ hạng của kết quả tìm kiếm. Văn bản giải thích:

Tiêu đề: Giới thiệu về những kết quả này

Nội dung: Khi bạn tìm kiếm các doanh nghiệp hoặc địa điểm ở gần một vị trí, Google Maps sẽ hiển thị kết quả tại địa phương. Một số yếu tố (chủ yếu là mức độ liên quan, khoảng cách và sự nổi bật) được kết hợp để giúp tìm ra kết quả tốt nhất cho nội dung tìm kiếm của bạn.

Nút 1: Tìm hiểu thêm
Văn bản "Tìm hiểu thêm" phải liên kết đến một bài viết trên Trung tâm trợ giúp.

Nút 2: OK

Hiển thị bài đánh giá

Một đối tượng Place có thể chứa tối đa 5 bài đánh giá, trong đó mỗi bài đánh giá được biểu thị bằng một đối tượng Review. Bạn có thể tuỳ ý hiển thị các bài đánh giá này trong ứng dụng của mình.

Khi hiển thị bài đánh giá do người dùng Google đóng góp, bạn phải đặt tên của tác giả ở gần bài đánh giá. Nếu có trong trường thông tin tác giả của đối tượng Review, bạn nên thêm ảnh của tác giả và đường liên kết đến hồ sơ của họ. Hình ảnh sau đây là ví dụ về một bài đánh giá về công viên:

Hiển thị thông tin tác giả

Google cũng đề xuất bạn cho người dùng cuối biết cách sắp xếp bài đánh giá.

Để xem các bài đánh giá, hãy gọi Place.getReviews():

// Specify the fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.REVIEWS);

// Construct a request object, passing the place ID and fields array.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance("INSERT_PLACE_ID_HERE", placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    List<Review> reviews = place.getReviews();
    // For loop for iterating over the List
    for (int i = 0; i < reviews.size(); i++) {
      // For each review, get the Review object.
        Review placeReview = reviews.get(i);

      // Get any attribution and author attribution.
        String reviewAttribution = placeReview.getAttribution();
        AuthorAttribution authorAttribution = placeReview.getAuthorAttribution();

        // Display the review contents and attributions as necessary.
    }
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        // Handle the error.
    }
});

Hiển thị thông tin ghi nhận tác giả của bên thứ ba

Thông tin ghi nhận tác giả 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 theo định dạng được cung cấp. Google đề xuất 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 này tạo thông tin ghi nhận tác giả cho tất cả địa điểm mà ứng dụng sử dụng. Thông tin ghi nhận tác giả được cung cấp theo từng lệnh gọi API, chứ không phải theo từng địa điểm.

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

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

Ví dụ về thông tin ghi công của bên thứ ba

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

Tự động hoàn thành địa chỉ của người dùng cuối

Khi người dùng cuối sử dụng chức năng Tự động hoàn thành trong Ứng dụng của khách hàng để nhập trước một địa chỉ đường phố và địa chỉ đường phố đó sẽ được người dùng cuối cung cấp đầy đủ và chính xác mà không cần tính năng Tự động hoàn thành, thì địa chỉ mà người dùng cuối chọn sẽ không phải tuân theo các giới hạn nội dung trên Google Maps trong Thoả thuận về Google Maps Platform. Trường hợp ngoại lệ này chỉ áp dụng cho địa chỉ đường phố do người dùng cuối chọn và chỉ cho giao dịch cụ thể của người dùng cuối đó; trường hợp ngoại lệ này không áp dụng cho danh sách địa chỉ đề xuất do chức năng Tự động hoàn thành cung cấp hoặc cho Nội dung khác trên Google Maps. Trường hợp ngoại lệ này không áp dụng cho bất kỳ chức năng tra cứu địa điểm yêu thích hoặc địa chỉ nào do các Dịch vụ khác của Google Maps Platform cung cấp.

Tự động hoàn thành địa chỉ của người dùng cuối

Trong hình ảnh trước, danh sách địa chỉ ở bên trái vẫn phải tuân theo các quy định hạn chế về Nội dung trên Google Maps. Sau khi người dùng cuối chọn địa chỉ, địa chỉ đó sẽ không phải tuân theo các quy định hạn chế đối với Nội dung trên Google Maps chỉ nhằm mục đích giao dịch hiện hành của người dùng cuối đó.