Kebijakan 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 penyimpanan ke dalam cache

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 pedoman 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 pada komponen ringkas Place Details. Di 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 Google Maps Platform API di aplikasi atau situs Anda. Anda tidak perlu menambahkan atribusi tambahan jika Konten ditampilkan di Google Maps yang sudah menampilkan atribusi.

Mencantumkan atribusi Google Maps

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 ruang kosong yang memadai.
  • Saat melakukan modifikasi visual, Anda harus mematuhi semua persyaratan atribusi Google Maps.

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

Kiri: Atribusi logo Google Maps, Kanan: Atribusi teks Google Maps
Kiri: Atribusi logo Google Maps, Kanan: 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
Variasi yang dapat diterima untuk atribusi logo Google Maps

Mendownload logo Google Maps

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

Download aset atribusi Google Maps

Saat menggunakan logo Google Maps, ikuti panduan berikut.

  • Jangan memodifikasi logo dengan cara apa pun.
  • Pertahankan rasio aspek logo untuk mencegah distorsi.
  • Gunakan logo bergaris luar pada latar belakang yang ramai, seperti peta atau gambar.
  • Gunakan logo tanpa garis tepi 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 minimum logo: 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
Logo Google Maps yang menunjukkan 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
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 yang dapat diterima dari atribusi teks Google Maps
Variasi yang dapat diterima untuk atribusi teks Google Maps
  • Jangan mengubah teks Google Maps dengan cara apa pun:
    • Jangan mengubah kapitalisasi Google Maps
    • Jangan memisahkan Google Maps ke dalam beberapa baris
    • Jangan melokalkan Google Maps ke bahasa lain.
    • Mencegah browser menerjemahkan Google Maps dengan menggunakan atribut HTML translate="no".
Variasi atribusi teks Google Maps yang tidak dapat diterima
Variasi atribusi teks Google Maps yang tidak dapat diterima
  • Gaya teks Google Maps seperti yang dijelaskan dalam tabel berikut:

    Persyaratan gaya teks Google Maps
    Properti Gaya
    Jenis font Roboto. Memuat font bersifat opsional.
    Jenis font pengganti Font isi sans serif 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 dapat diakses (4,5:1) dengan latar belakang.
    Ukuran font Ukuran font minimum: 12 sp
    Ukuran font maksimum: 16 sp
    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 tampilan visual atribusi Google Maps.
  • Tempatkan 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 salah merepresentasikan Google Maps dengan mengatribusikannya dengan konten non-Google Maps Platform.
  • Pastikan atribusi selalu terlihat dan dapat dibaca. 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 ditempatkan di bagian atas, bawah, dan samping konten

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

Jangan menyamarkan atribusi Google Maps atau mencampurnya dengan konten dari sumber lain
Jangan menutupi 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 Anda untuk 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, hanya menyertakan "Google Maps" atau logo Google saja bukanlah atribusi yang tepat.

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. 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 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 tidak lebih dari 1 kali klik yang menjelaskan faktor utama dan pembobotan faktor utama yang menentukan peringkat hasil penelusuran. Teks penjelasan:

Header: Tentang hasil ini

Isi: 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: OK

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 kepada penyedia pihak ketiga berisi konten dan link dalam format HTML yang harus Anda pertahankan dan tampilkan kepada pengguna dalam format yang sama seperti yang diberikan. Google merekomendasikan untuk menampilkan informasi ini di bawah detail tempat.

API ini membuat 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 sepenuhnya dan secara akurat oleh pengguna akhir tersebut tanpa Pelengkapan Otomatis, alamat yang dipilih pengguna akhir tersebut tidak tunduk pada batasan Konten Google Maps dalam Perjanjian Platform Google Maps Anda. Pengecualian ini hanya berlaku untuk alamat jalan yang dipilih oleh pengguna akhir dan semata-mata 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 penelusuran alamat atau POI yang ditawarkan oleh Layanan Google Maps Platform lainnya.

Melengkapi otomatis alamat pengguna akhir

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