Kebijakan dan atribusi untuk Places SDK for Android

Topik ini memaparkan persyaratan atribusi untuk semua aplikasi yang dikembangkan dengan Places SDK for Android, termasuk layanan Place Autocomplete yang menjadi bagian dari API tersebut. Untuk persyaratan Google Maps Platform, lihat Persyaratan Layanan Google Maps Platform.

Kebijakan

Bagian ini menjelaskan kebijakan yang relevan dengan Places SDK for Android. Kebijakan memberikan panduan dan persyaratan penerapan praktis untuk membantu Anda menggunakan Layanan dengan benar dan sesuai dengan ekspektasi Google Maps Platform.

Pengecualian dari batasan caching

Perhatikan bahwa ID tempat, yang digunakan untuk mengidentifikasi tempat secara unik, dikecualikan dari pembatasan penyimpanan dalam cache. Karena itu Anda bisa menyimpan nilai ID tempat secara tak terbatas. ID tempat ditampilkan di kolom place_id dalam respons API. Pelajari cara menyimpan, memperbarui, dan mengelola ID tempat di panduan ID Tempat.

Negara dan wilayah Wilayah Ekonomi Eropa

Produk ini memiliki Persyaratan Layanan yang berbeda untuk pelanggan dengan alamat penagihan di Wilayah Ekonomi Eropa (EEA), dan mungkin juga memiliki fungsi yang berbeda. Sebelum membangun dengan Google Maps Platform, tinjau persyaratan dan informasi khusus EEA berikut:

Jika alamat penagihan Anda tidak berada di EEA, persyaratan layanan berikut berlaku untuk Anda:

Persyaratan atribusi Google Maps

Bagian ini memberikan persyaratan dan panduan atribusi untuk menampilkan Google Maps dan Konten melalui aplikasi Anda.

Contoh atribusi

Berikut adalah contoh atribusi untuk Places UI Kit.

Contoh atribusi Places UI Kit di peta non-Google
Atribusi wajib diterapkan ke komponen ringkas Place Details. Pada peta non-Google ini, atribusi Google Maps terlihat jelas, dan konten Google Maps Platform dibedakan secara visual dari konten lainnya.

Menampilkan atribusi Google Maps

Anda harus mengikuti persyaratan atribusi Google Maps saat menampilkan Konten dari API Google Maps Platform di aplikasi atau situs Anda. Anda tidak perlu menambahkan atribusi tambahan jika Konten ditampilkan di Google Maps yang atribusinya sudah terlihat.

Atribusi Google Maps yang disertakan

Untuk atribusi Google Maps yang sudah disediakan oleh Google Maps Platform di antarmuka pengguna, seperti di Places UI Kit:

  • Jangan menghapus atribusi yang disertakan, di mana pun atribusi tersebut ditampilkan. Jangan mengubah, menyembunyikan, atau mengaburkan atribusi dan pastikan atribusi terlihat jelas di latar belakang.
  • Selalu bedakan Konten Google Maps Platform secara visual dari konten lain menggunakan petunjuk UI seperti batas, warna latar belakang, bayangan, atau spasi kosong yang memadai.
  • Saat melakukan modifikasi visual, Anda harus mematuhi semua persyaratan atribusi Google Maps.

Atribusi harus berupa logo Google Maps jika memungkinkan. Jika ruang terbatas, teks Google Maps dapat diterima. Pengguna akhir harus selalu dapat mengetahui dengan jelas konten mana yang disediakan oleh Google Maps.

Kiri: Atribusi logo Google Maps, Kanan: Atribusi teks Google Maps
Kiri: Contoh atribusi logo Google Maps, Kanan: Contoh atribusi teks Google Maps

Atribusi logo

Ikuti persyaratan berikut untuk menggunakan logo Google Maps di aplikasi atau situs Anda.
Variasi yang dapat diterima untuk atribusi logo Google Maps
Contoh variasi yang dapat diterima untuk atribusi logo Google Maps

Download logo Google Maps

Gunakan file logo Google Maps resmi. Download logo di bawah, dan ikuti panduan di bagian ini.

Mendownload aset atribusi Google Maps

Saat menggunakan logo Google Maps, ikuti panduan berikut.

  • Jangan mengubah logo dengan cara apa pun.
  • Pertahankan rasio aspek logo untuk mencegah distorsi.
  • Gunakan logo bergaris tepi pada latar belakang yang ramai, seperti peta atau gambar.
  • Gunakan logo tanpa garis batas pada latar belakang polos, seperti warna solid atau gradien halus.

Spesifikasi ukuran logo

Ikuti spesifikasi ukuran berikut untuk logo Google Maps:
  • Tinggi logo minimum: 16 dp
  • Tinggi logo maksimum: 19 dp
  • Ruang kosong logo minimum: 10 dp di kiri, kanan, dan atas, 5 dp di bawah

Untuk mempelajari dp, lihat Kepadatan piksel di situs Desain Material.

Logo Google Maps yang menampilkan ruang kosong minimum dan rentang ukuran yang dapat diterima
Contoh logo Google Maps yang menampilkan ruang kosong minimum dan rentang ukuran yang dapat diterima

Aksesibilitas logo

Ikuti persyaratan aksesibilitas berikut untuk logo Google Maps:
Variasi yang tidak dapat diterima dan masalah aksesibilitas untuk atribusi logo Google Maps
Contoh variasi yang tidak dapat diterima dan masalah aksesibilitas untuk atribusi logo Google Maps

Atribusi teks

Jika ukuran antarmuka Anda tidak mendukung penggunaan logo Google Maps, Anda dapat mengeja Google Maps dalam teks. Ikuti pedoman berikut:

Variasi atribusi teks Google Maps yang dapat diterima
Contoh variasi atribusi teks Google Maps yang dapat diterima
  • Jangan ubah teks Google Maps dengan cara apa pun:
    • Jangan ubah kapitalisasi Google Maps
    • Jangan membungkus Google Maps menjadi beberapa baris
    • Jangan lokalkan Google Maps ke bahasa lain.
    • Cegah browser menerjemahkan Google Maps dengan menggunakan atribut HTML translate="no".
Variasi atribusi teks Google Maps yang tidak dapat diterima
Contoh variasi atribusi teks Google Maps yang tidak dapat diterima
  • Atur gaya teks Google Maps seperti yang dijelaskan dalam tabel berikut:

    Persyaratan gaya teks Google Maps
    Properti Gaya
    Jenis font Roboto. Pemuatan font bersifat opsional.
    Jenis font pengganti Font isi sans serif apa pun yang sudah digunakan dalam produk Anda atau "Sans-Serif" untuk memanggil font sistem default
    Gaya font Normal
    Ketebalan font 400
    Warna font Putih, hitam (#1F1F1F), atau abu-abu (#5E5E5E). Pertahankan kontras yang mudah diakses (4,5:1) terhadap latar belakang.
    Ukuran font Ukuran font minimum: 12sp
    Ukuran font maksimum: 16sp
    Untuk mempelajari sp, lihat Unit ukuran font di situs Desain Material.
    Spasi huruf Normal

CSS Contoh

CSS berikut merender Google Maps dengan gaya dan warna tipografi yang sesuai di latar belakang putih atau terang.

@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;
}

Persyaratan visual

Ikuti persyaratan berikut untuk perlakuan visual atribusi Google Maps.
  • Posisikan atribusi di dekat bagian atas atau bawah konten, dan dalam penampung visual yang sama. Untuk satu baris konten, atribusi dapat diposisikan di kanan atau kiri.

  • Bedakan Konten Google Maps Platform secara visual dari konten lain menggunakan petunjuk UI seperti batas, warna latar belakang, bayangan, atau ruang kosong yang memadai.

  • Jangan memberikan pernyataan tidak benar tentang Google Maps dengan mengatribusikannya ke konten non-Google Maps Platform.
  • Pastikan atribusi selalu terlihat dan terbaca. Jangan pernah menghapus, menyembunyikan, mengaburkan, atau mengubahnya.

Gambar berikut menunjukkan contoh persyaratan visual ini.

Contoh atribusi Google Maps yang diposisikan di atas, di bawah, dan di samping konten
Contoh atribusi Google Maps yang diposisikan di bagian atas, di bagian bawah, dan di samping konten

Contoh dua pendekatan untuk membedakan Konten Google Maps (rating tempat) dari konten lainnya
Contoh dua pendekatan untuk membedakan Konten Google Maps (rating tempat) dari konten lainnya

Jangan mengaburkan atribusi Google Maps atau mencampurnya dengan konten dari sumber lain
Jangan mengaburkan atribusi Google Maps atau mencampurnya dengan konten dari sumber lain

Penyedia data pihak-ketiga

Beberapa data dan gambar di produk pemetaan kami berasal dari penyedia selain Google. Untuk beberapa produk, seperti Map Tiles API, kami dapat memberikan atribusi yang diperlukan kepada penyedia data pihak ketiga. Jika kami melakukannya, teks atribusi Anda harus berisi nama "Google Maps" dan penyedia data yang relevan, seperti "Data peta: Google, Maxar Technologies". Jika Google memberikan atribusi pihak ketiga, menyertakan "Google Maps" atau logo Google saja bukanlah bentuk atribusi yang benar.

Persyaratan atribusi lainnya

Ikuti petunjuk ini untuk mengambil atribusi pihak ketiga, dan untuk menampilkan atribusi di aplikasi Anda.

Mengambil atribusi dari suatu Tempat

Jika aplikasi Anda menampilkan informasi yang diperoleh dengan memanggil get place by ID, aplikasi juga harus menampilkan atribusi pihak ketiga untuk detail tempat yang diperoleh.

API menampilkan objek Place. Untuk mengambil atribusi dari objek Place, panggil Place.getAttributions(). Metode ini menampilkan List objek String, atau null jika tidak ada atribusi untuk ditampilkan.

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.
    }
  }
);

Menampilkan atribusi untuk foto

Jika aplikasi Anda menampilkan foto tempat, Anda harus menampilkan atribusi untuk setiap foto yang memilikinya. PhotoMetadata, dapat berisi salah satu dari dua jenis atribusi:

Untuk mendapatkan atribusi string untuk foto, panggil PhotoMetadata.getAttributions(). Metode ini menampilkan urutan karakter HTML, atau string kosong jika tidak ada atribusi untuk ditampilkan.

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

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

Untuk mendapatkan atribusi penulis untuk foto, panggil PhotoMetadata.getAuthorAttributions(). Metode ini akan menampilkan objek AuthorAttributions. Objek ini berisi List objek AuthorAttribution, satu per atribusi penulis.

// 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();

Atribusi hasil penelusuran

Di Eropa, saat menggunakan peringkat Google yang tidak dimodifikasi, produk penelusuran harus memiliki teks penjelasan yang dapat diakses dengan maksimal 1 klik, yang menjelaskan faktor utama dan bobot faktor utama yang menentukan peringkat hasil penelusuran. Teks penjelasan:

Header: Tentang hasil ini

Teks: Saat Anda menelusuri bisnis atau tempat di dekat suatu lokasi, Google Maps akan menampilkan hasil lokal. Beberapa faktor, terutama relevansi, jarak, dan keterlihatan, digabungkan untuk membantu menemukan hasil penelusuran terbaik.

Tombol 1: Pelajari lebih lanjut
Teks "Pelajari lebih lanjut" harus ditautkan ke artikel Pusat Bantuan.

Tombol 2: Oke

Menampilkan ulasan

Objek Place dapat berisi hingga lima ulasan, yang setiap ulasannya diwakili oleh objek Review. Secara opsional, Anda dapat menampilkan ulasan tersebut di aplikasi Anda.

Jika menampilkan ulasan yang merupakan kontribusi dari pengguna Google, Anda harus menempatkan nama penulis di dekat ulasan. Jika ada di kolom atribusi penulis untuk objek Review, sebaiknya Anda menyertakan juga foto dan link penulis ke profil mereka. Gambar berikut menampilkan contoh ulasan sebuah taman:

Tampilan atribusi penulis

Google juga merekomendasikan agar Anda menampilkan cara ulasan diurutkan kepada pengguna akhir.

Untuk mengakses ulasan, panggil 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.
    }
});

Menampilkan atribusi pihak ketiga

Atribusi ke penyedia pihak ketiga berisi konten dan link dalam format HTML yang harus Anda pertahankan dan tampilkan kepada pengguna dalam format yang disediakan. Google merekomendasikan untuk menampilkan informasi ini di bawah detail tempat.

API ini menghasilkan atribusi untuk semua tempat yang digunakan oleh aplikasi. Atribusi diberikan per panggilan API, bukan per tempat.

Salah satu cara untuk menampilkan atribusi adalah dengan TextView. Contoh:

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

Contoh atribusi pihak ketiga

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

Pelengkapan otomatis untuk alamat pengguna akhir

Jika pengguna akhir menggunakan fungsi Pelengkapan Otomatis dalam Aplikasi Pelanggan Anda untuk mengetik alamat jalan dan alamat jalan tersebut akan diberikan secara lengkap dan akurat oleh pengguna akhir tersebut tanpa Pelengkapan Otomatis, alamat yang dipilih pengguna akhir tersebut tidak tunduk pada batasan Konten Google Maps dalam Perjanjian Google Maps Platform Anda. Pengecualian ini hanya berlaku untuk alamat yang dipilih oleh pengguna akhir dan hanya untuk transaksi spesifik pengguna akhir tersebut; pengecualian ini tidak berlaku untuk daftar alamat yang disarankan yang disediakan oleh fungsi Pelengkapan Otomatis atau untuk Konten Google Maps lainnya. Pengecualian ini tidak berlaku untuk fungsi pencarian POI atau alamat yang ditawarkan oleh Layanan Google Maps Platform lainnya.

Pelengkapan otomatis alamat pengguna akhir

Pada gambar sebelumnya, daftar alamat di sebelah kiri masih tunduk pada batasan Konten Google Maps. Setelah pengguna akhir memilih alamat yang dipilihnya, alamat tersebut tidak tunduk pada batasan Konten Google Maps semata-mata untuk tujuan transaksi yang berlaku bagi pengguna akhir tersebut.