Kebijakan untuk Places SDK for Android

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

Menyediakan ketentuan penggunaan dan kebijakan privasi

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

  • Persyaratan Penggunaan dan Kebijakan Privasi harus tersedia untuk umum.
  • 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 Anda bahwa Anda menggunakan Google Maps API dan melalui penyebutan memasukkan Kebijakan Privasi Google.

Tempat yang direkomendasikan untuk menyediakan Persyaratan Penggunaan dan Kebijakan Privasi Anda akan 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 di menu setelan aplikasi.

Aplikasi web

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

Melakukan pra-pengambilan, menyimpan dalam cache, atau menyimpan konten

Aplikasi yang menggunakan Places SDK for Android terikat oleh persyaratan dari Perjanjian dengan Google. Tunduk pada ketentuan Perjanjian Anda, Anda tidak boleh melakukan pra-pengambilan, mengindeks, menyimpan dalam cache, atau menyimpan Konten apa pun, kecuali berdasarkan kondisi terbatas yang dinyatakan dalam ketentuan tersebut.

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

Menampilkan hasil Places SDK for Android

Anda dapat menampilkan hasil Places SDK for Android pada Google Maps atau tanpa peta. Jika Anda ingin menampilkan hasil Places SDK for Android pada peta, maka 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, logo Google akan disertakan dan tidak boleh diubah. Aplikasi yang menampilkan data Google di layar yang sama seperti Google Maps tidak diwajibkan memberikan atribusi lainnya untuk Google.

Jika aplikasi Anda menampilkan data di 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 pada tab lainnya, tab pertama harus menampilkan logo Google. Jika aplikasi Anda menggunakan kolom penelusuran dengan atau tanpa pelengkapan otomatis, logo harus ditampilkan secara 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 sebagai satu kesatuan, dan bukan 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 mengubah atribusi. Jangan menghapus, mengaburkan, atau memangkas informasi atribusi. Anda tidak boleh menggunakan logo Google secara inline (misalnya, "Peta ini dari [Google_logo]").

Selalu dekatkan posisi atribusi. Jika menggunakan screenshot gambar Google di luar sematan langsung, sertakan atribusi dasar sebagaimana yang muncul di gambar tersebut. Jika perlu, Anda dapat menyesuaikan gaya dan penempatan teks atribusi, selama teks tersebut berada sangat dekat dengan konten dan dapat dibaca oleh kebanyakan pelihat atau pembaca. Anda tidak boleh menjauhkan atribusi dari konten, seperti ke bagian akhir buku Anda, kredit file atau acara Anda, atau footer situs Anda.

Sertakan penyedia data pihak ketiga. Beberapa data dan gambar di produk pemetaan kami berasal dari penyedia selain Google. Jika gambar tersebut digunakan, teks atribusi Anda harus berisi nama "Google" dan penyedia data yang relevan, seperti "Data peta: Google, Maxar Technologies." Jika ada penyedia data pihak ketiga yang dikutip bersama gambar, menyertakan "Google" atau logo Google saja bukanlah bentuk atribusi yang benar.

Jika Anda menggunakan Google Maps Platform di perangkat yang tidak mungkin digunakan untuk menampilkan atribusi, hubungi tim penjualan Google untuk mendiskusikan lisensi yang sesuai untuk kasus penggunaan Anda.

Persyaratan atribusi lainnya

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

Mengambil atribusi dari Tempat

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

API menampilkan 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 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 bagi foto, panggil PhotoMetadata.getAttributions(). Metode ini mengembalikan sebuah Urutan karakter HTML, atau string kosong jika tidak ada atribusi ke tampilan.

// 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 mengembalikan sebuah Objek AuthorAttributions. Objek ini berisi List dari AuthorAttribution , satu objek 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 elemen Review . Secara opsional, Anda dapat menampilkan ulasan tersebut di aplikasi Anda.

Saat menampilkan ulasan yang dikontribusikan oleh pengguna Google, Anda harus menempatkan nama penulis dalam jarak dekat. Jika tersedia di kolom atribusi penulis dari objek Review, sebaiknya sertakan foto penulisnya dan menautkan ke profil mereka. Gambar berikut menampilkan contoh ulasan sebuah taman:

Tampilan atribusi penulis

Google juga merekomendasikan agar Anda menampilkan cara pengurutan ulasan ke 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 di HTML format yang harus Anda pertahankan dan tampilkan kepada pengguna dalam format mereka disediakan. Google merekomendasikan untuk menampilkan informasi ini di bawah detail tempat.

API menghasilkan atribusi untuk semua tempat yang digunakan oleh aplikasi. Atribusi disediakan 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>

Panduan gaya untuk atribusi Google

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

Ruang kosong

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

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

Keterbacaan

Baris nama penulis harus selalu jelas, dapat dibaca, dan ditampilkan dengan variasi warna terang untuk latar belakang tertentu. Pastikan selalu ada kontras yang memadai untuk variasi logo yang Anda pilih.

Warna

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

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

Di latar belakang yang lebih gelap, dan di pola yang tidak rumit atau fotografi, 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.

CSS Contoh

CSS berikut, saat diterapkan ke teks "Google", akan merender "Google" dengan font, warna dan ruang yang sesuai di 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;