Kebijakan untuk Places SDK for Android

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

Menyediakan ketentuan penggunaan dan kebijakan privasi

Jika Anda mengembangkan aplikasi Places SDK for Android, Anda harus menyediakan Persyaratan Penggunaan dan Kebijakan Privasi bersama aplikasi Anda yang memenuhi panduan yang diuraikan dalam Perjanjian Anda dengan Google:

  • Persyaratan Penggunaan dan Kebijakan Privasi harus tersedia untuk publik.
  • Anda harus menyatakan secara eksplisit dalam Persyaratan Penggunaan aplikasi Anda bahwa dengan menggunakan aplikasi Anda, pengguna akan terikat dengan Persyaratan Layanan Google.
  • Anda harus memberi tahu pengguna dalam Kebijakan Privasi bahwa Anda menggunakan Google Maps API dan menyertakan Kebijakan Privasi Google melalui penyebutannya.

Tempat yang direkomendasikan untuk menyediakan Persyaratan Penggunaan dan Kebijakan Privasi bergantung pada platform aplikasi Anda.

Aplikasi seluler

Jika mengembangkan aplikasi seluler, sebaiknya Anda menyediakan link ke Persyaratan Penggunaan dan Kebijakan Privasi di halaman download aplikasi Anda di app store yang relevan dan dalam menu setelan aplikasi.

Aplikasi web

Jika mengembangkan aplikasi web, sebaiknya Anda menyediakan link ke Persyaratan Penggunaan dan Kebijakan Privasi di footer situs Anda.

Pengambilan data, penyimpanan dalam cache, atau penyimpanan konten

Aplikasi yang menggunakan Places SDK for Android terikat oleh persyaratan Perjanjian Anda dengan Google. Tunduk pada persyaratan Perjanjian, Anda tidak boleh mengambil di awal, mengindeks, menyimpan, atau menyimpan Konten apa pun dalam cache kecuali dalam kondisi terbatas yang dinyatakan dalam persyaratan.

Perhatikan bahwa ID tempat, yang digunakan untuk mengidentifikasi tempat secara unik, dikecualikan dari pembatasan cache. ID tempat ditampilkan dalam kolom `place_id` pada respons Places SDK for Android. Pelajari cara menyimpan, memuat ulang, dan mengelola ID tempat di panduan ID Tempat.

Menampilkan hasil Places SDK for Android

Anda dapat menampilkan hasil Places SDK for Android di Google Maps, atau tanpa peta. Jika Anda ingin menampilkan hasil Places SDK for Android di peta, hasil ini harus ditampilkan di Google Maps. Dilarang menggunakan data Places SDK for Android pada peta yang bukan peta Google.

Jika aplikasi Anda menampilkan data di Google Maps, maka logo Google akan disertakan dan tidak boleh diubah. Aplikasi yang menampilkan data Google pada layar yang sama dengan Google Maps tidak diwajibkan untuk memberikan atribusi lebih lanjut ke Google.

Jika aplikasi Anda menampilkan data pada halaman atau tampilan yang juga tidak menampilkan Google Maps, Anda harus menampilkan logo Google dengan data tersebut. Misalnya, jika aplikasi Anda menampilkan data Google pada satu tab, dan Google Maps dengan data tersebut di tab lainnya, tab pertama harus menampilkan logo Google. Jika aplikasi Anda menggunakan kolom penelusuran dengan atau tanpa pelengkapan otomatis, logo harus ditampilkan inline.

Logo Google harus ditempatkan di sudut kiri bawah peta, dengan informasi atribusi ditempatkan di sudut kanan bawah. Keduanya harus ada di peta yang ditampilkan secara keseluruhan dan tidak di bawah peta atau tempat lain dalam aplikasi. Contoh peta berikut menampilkan logo Google di kiri bawah peta, dan atribusi di kanan bawah.

penempatan atribusi kebijakan

File ZIP berikut berisi logo Google dalam ukuran yang tepat untuk aplikasi desktop, Android, dan iOS. Anda tidak boleh mengubah ukuran atau memodifikasi logo ini dengan cara apa pun.

Download: google_logo.zip

Jangan ubah atribusi. Jangan menghapus, mengaburkan, atau memangkas informasi atribusi. Anda tidak dapat menggunakan logo Google inline (misalnya, "Peta ini dari [Google_logo]").

Tetap dekatkan atribusi. Jika menggunakan screenshot gambar Google di luar sematan langsung, sertakan atribusi standar seperti yang muncul dalam gambar. Jika perlu, Anda dapat menyesuaikan gaya dan penempatan teks atribusi, selama teks tersebut berada dalam jarak yang dekat dengan konten dan dapat dibaca oleh kebanyakan audiens atau pembaca. Anda tidak boleh memindahkan atribusi dari konten, seperti ke bagian akhir buku, kredit file atau acara, atau footer situs.

Sertakan penyedia data pihak ketiga. Sebagian data dan gambar di produk pemetaan kami berasal dari penyedia selain Google. Jika menggunakan gambar tersebut, teks atribusi harus menyebutkan nama "Google" dan penyedia data yang relevan, seperti "Data peta: Google, Maxar Technologies". Jika ada penyedia data pihak ketiga yang dikutip bersama gambar, hanya menyertakan "Google" atau logo Google bukanlah atribusi yang tepat.

Jika Anda menggunakan Google Maps Platform di perangkat yang tidak memungkinkan tampilan atribusi, hubungi tim penjualan Google untuk mendiskusikan lisensi yang sesuai dengan kasus penggunaan Anda.

Persyaratan atribusi lainnya

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

Mengambil atribusi dari 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 dari 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.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 menampilkan foto, Anda harus menampilkan atribusi untuk setiap foto yang memilikinya. PhotoMetadata, dapat berisi salah satu dari dua jenis atribusi:

Guna mendapatkan atribusi string untuk foto, panggil PhotoMetadata.getAttributions(). Metode tersebut 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();

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

Menampilkan ulasan

Objek Place dapat berisi hingga lima ulasan, dengan setiap ulasan diwakili oleh objek Review. Anda dapat menampilkan ulasan ini di aplikasi.

Saat menampilkan ulasan yang dikontribusikan oleh pengguna Google, Anda harus menempatkan nama penulisnya di tempat yang berdekatan. Jika tersedia di kolom atribusi penulis pada objek Review, sebaiknya Anda juga menyertakan foto penulis dan link ke profilnya. Gambar berikut menunjukkan contoh ulasan taman:

Tampilan atribusi penulis

Google juga merekomendasikan agar Anda menampilkan bagaimana 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 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>

Pedoman gaya untuk atribusi Google

Berikut adalah pedoman gaya untuk atribusi Google dalam CSS dan HTML jika Anda tidak dapat menggunakan logo Google yang dapat didownload.

Ruang kosong

Jumlah ruang kosong di sekitar logo lengkap harus sama dengan atau lebih besar dari tinggi huruf "G" di Google.

Ruang antara salinan atribusi dan logo Google harus setengah lebar "G".

Kejelasan

Baris nama harus selalu jelas, dapat dibaca, dan muncul dalam variasi warna yang tepat untuk latar belakang tertentu. Selalu pastikan untuk memberikan kontras yang cukup untuk variasi logo yang Anda pilih.

Warna

Gunakan teks Google Material Gray 700 pada latar belakang putih atau terang yang menggunakan rentang tint maksimum 0%–40% hitam.

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

Pada latar belakang yang lebih gelap, dan di atas fotografi atau pola tidak sibuk, gunakan teks putih untuk baris nama penulis dan atribusi.

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

Font

Gunakan font Roboto.

Contoh CSS

CSS berikut, jika diterapkan pada teks "Google", akan merender "Google" dengan font, warna, dan spasi yang sesuai pada latar belakang putih atau terang.

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;