Richtlinien für Places SDK for Android

In diesem Artikel werden Anforderungen hinsichtlich der Quellenangabe für alle Anwendungen beschrieben, die mit dem Places SDK for Android entwickelt wurden. Dazu gehört auch der Place Autocomplete-Dienst, der Teil dieser API ist. Weitere Nutzungsbedingungen für die Google Maps Platform finden Sie in den Nutzungsbedingungen für die Google Maps Platform.

Bereitstellen der Nutzungsbedingungen und der Datenschutzrichtlinie

Wenn Sie eine App des Places SDK for Android entwickeln, müssen Sie die Nutzungsbedingungen und eine Datenschutzerklärung in Ihrer App zur Verfügung stellen. Diese muss den Richtlinien entsprechen, die in Ihrer Vereinbarung mit Google beschrieben sind:

  • Die Nutzungsbedingungen und die Datenschutzerklärung müssen öffentlich zugänglich sein.
  • Du musst in den Nutzungsbedingungen deiner App ausdrücklich angeben, dass Nutzer durch die Verwendung deiner App an die Nutzungsbedingungen von Google gebunden sind.
  • Sie müssen die Nutzer in Ihrer Datenschutzerklärung darüber informieren, dass Sie die Google Maps APIs verwenden und die Datenschutzerklärung von Google einbeziehen.

Wo du deine Nutzungsbedingungen und deine Datenschutzerklärung veröffentlichen solltest, hängt von der Plattform deiner App ab.

Mobile Apps

Wenn Sie eine mobile App entwickeln, sollten Sie auf der Downloadseite Ihrer App im entsprechenden App-Shop und im Menü der App-Einstellungen einen Link zu den Nutzungsbedingungen und zur Datenschutzerklärung angeben.

Webanwendungen

Wenn Sie eine Webanwendung entwickeln, sollten Sie in der Fußzeile Ihrer Website einen Link zu den Nutzungsbedingungen und zur Datenschutzerklärung angeben.

Vorabruf, Caching oder Speicherung von Inhalten

Anwendungen, die das Places SDK for Android verwenden, sind an die Bedingungen Ihrer Vereinbarung mit Google gebunden. Gemäß den Bedingungen Ihrer Vereinbarung dürfen Sie Inhalte nur unter den in den Bedingungen angegebenen Bedingungen im Voraus abrufen, indexieren, speichern oder im Cache speichern.

Die Orts-ID, die zur eindeutigen Identifizierung eines Ortes verwendet wird, ist von den Caching-Einschränkungen ausgenommen. Die Orts-ID wird in den Antworten des Places SDK for Android im Feld „place_id“ zurückgegeben. Informationen zum Speichern, Aktualisieren und Verwalten von Orts-IDs finden Sie im Leitfaden zu Orts-IDs.

Places SDK for Android-Ergebnisse anzeigen

Die Ergebnisse des Places SDK for Android können auf einer Google Maps-Karte oder ohne Karte angezeigt werden. Wenn Ergebnisse des Places SDK for Android auf einer Karte angezeigt werden sollen, müssen die Ergebnisse auch auf einer Google-Karte angezeigt werden. Die Daten des Places SDK for Android dürfen nicht auf Karten verwendet werden, die keine Google-Karte sind.

Wenn Ihre App Daten auf einer Google Maps-Karte anzeigt, ist das Google-Logo enthalten und darf nicht verändert werden. Bei Anwendungen, die Google-Daten auf demselben Bildschirm wie eine Google-Karte anzeigen, muss Google nicht weiter namentlich erwähnt werden.

Falls deine App Daten auf einer Seite oder Ansicht anzeigt, die nicht auch eine Google-Karte umfasst, musst du ein Google-Logo mit diesen Daten anzeigen. Wenn in deiner Anwendung beispielsweise Google-Daten auf einem Tab und eine Google-Karte mit diesen Daten auf einem anderen Tab angezeigt werden, muss auf dem ersten Tab das Google-Logo angezeigt werden. Wenn Ihre Anwendung Suchfelder mit oder ohne automatische Vervollständigung verwendet, muss das Logo inline angezeigt werden.

Das Google-Logo sollte in der unteren linken Ecke der Karte und die Attributionsinformationen in der unteren rechten Ecke platziert werden. Beide Elemente sollten auf der Karte als Ganzes dargestellt werden und nicht unter der Karte oder einem anderen Ort innerhalb der Anwendung. Das folgende Kartenbeispiel zeigt das Google-Logo unten links auf der Karte und die Quellenangabe unten rechts.

Platzierung der Richtlinienzuordnung

Die folgende ZIP-Datei enthält das Google-Logo in den richtigen Größen für Desktop-, Android- und iOS-Apps. Sie dürfen die Größe dieser Logos weder verändern noch ändern.

Herunterladen:google_logo.zip

Ändern Sie die Attribution nicht. Die Attributionsinformationen dürfen nicht entfernt, verdeckt oder abgeschnitten werden. Google-Logos (z. B. „Diese Karten stammen von [Google_logo]“) dürfen nicht verwendet werden.

Achten Sie darauf, dass die Namensnennung möglichst genau ist. Wenn du Screenshots von Google-Bildern außerhalb direkter Einbettungen verwendest, füge die Standardkennzeichnung so hinzu, wie sie im Bild zu sehen ist. Bei Bedarf kannst du den Stil und die Platzierung des Quellenangabetexts anpassen, solange er sich in unmittelbarer Nähe zum Inhalt befindet und für den durchschnittlichen Zuschauer oder Leser gut lesbar ist. Die Quellenangabe darf vom Inhalt nicht entfernt werden, etwa am Ende des Buchs, den Mitwirkenden an den Dateien oder der Sendung oder in der Fußzeile deiner Website.

Datendrittanbieter einbeziehen. Einige der Daten und Bilder in unseren Kartenprodukten stammen nicht von Google, sondern von anderen Anbietern. Wenn Sie solche Bilder verwenden, müssen Ihre Quellenangaben den Namen „Google“ und die entsprechenden Datenanbieter enthalten, z. B. „Map data: Google, Maxar Technologies“. Wenn in den Bildern Datendrittanbieter genannt werden, ist nur die Angabe von „Google“ oder des Google-Logos keine ordnungsgemäße Quellenangabe.

Wenn Sie die Google Maps Platform auf einem Gerät verwenden, auf dem die Attributionsanzeige nicht praktikabel ist, kontaktieren Sie das Vertriebsteam von Google, um zu besprechen, welche Lizenzen für Ihren Anwendungsfall geeignet sind.

Sonstige Anforderungen für Quellenangaben

Folgen Sie dieser Anleitung, um Quellenangaben von Drittanbietern abzurufen und in Ihrer App anzuzeigen.

Zuordnungen von einem Ort abrufen

Wenn Ihre App Informationen anzeigt, die durch den Aufruf von get place by ID abgerufen wurden, muss die App auch Quellenangaben von Drittanbietern für die abgerufenen Ortsdetails anzeigen.

Die API gibt ein Place-Objekt zurück. Rufen Sie Place.getAttributions() auf, um Zuordnungen aus dem Place-Objekt abzurufen. Die Methode gibt ein List von String-Objekten oder null zurück, wenn keine Quellenangaben vorhanden sind.

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

Quellenangaben für ein Foto anzeigen

Wenn in Ihrer App Fotos angezeigt werden, müssen Sie für jedes Foto, das solche Fotos enthält, Quellenangaben hinzufügen. PhotoMetadata kann zwei Arten von Attributionen enthalten:

Rufen Sie PhotoMetadata.getAttributions() auf, um die String-Zuordnungen für ein Foto abzurufen. Die Methode gibt eine HTML-Zeichensequenz oder einen leeren String zurück, wenn keine Quellenangaben vorhanden sind.

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

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

Um die Quellenangaben für ein Foto zu erhalten, rufen Sie PhotoMetadata.getAuthorAttributions() auf. Die Methode gibt ein AuthorAttributions-Objekt zurück. Dieses Objekt enthält ein List mit AuthorAttribution-Objekten, eines pro Autorenangabe.

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

Rezension anzeigen

Ein Place-Objekt kann bis zu fünf Rezensionen enthalten, wobei jede Rezension durch ein Review-Objekt dargestellt wird. Optional können Sie diese Rezensionen in Ihrer App anzeigen lassen.

Bei der Anzeige von Rezensionen von Google-Nutzern muss der Name des Autors in unmittelbarer Nähe zu sehen sein. Sofern im Feld „Quellenangabe des Autors“ des Review-Objekts verfügbar, empfehlen wir, auch das Foto des Autors und einen Link zu seinem Profil anzugeben. Die folgende Abbildung zeigt ein Beispiel für eine Rezension zu einem Park:

Quellenangabe des Autors

Google empfiehlt außerdem, zu zeigen, wie Rezensionen für Endnutzer sortiert werden.

Rufen Sie Place.getReviews() auf, um auf die Rezensionen zuzugreifen:

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

Zuordnungen für Inhalte Dritter anzeigen

Quellenangaben zu Drittanbietern enthalten Inhalte und Links im HTML-Format, die Sie beibehalten und dem Nutzer in dem Format anzeigen müssen, in dem sie bereitgestellt werden. Google empfiehlt, diese Informationen unter den Ortsdetails anzuzeigen.

Die API generiert Zuordnungen für alle Orte, die von der App verwendet werden. Die Zuordnungen werden pro API-Aufruf, nicht pro Ort angegeben.

Eine Möglichkeit, die Quellenangaben anzuzeigen, ist ein TextView. Beispiel:

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

Beispiel einer Zuordnung für Inhalte Dritter

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

Stilrichtlinien für die Google-Attribution

Im Folgenden finden Sie Stilrichtlinien für Google-Quellenangaben in CSS und HTML, wenn Sie das herunterladbare Google-Logo nicht verwenden können.

Mindestabstand

Der Mindestabstand rund um das Logo mit Claim sollte der Höhe des „G“ in Google entsprechen oder größer sein.

Der Abstand zwischen dem Attributionstext und dem Google-Logo sollte die halbe Breite des „G“ haben.

Lesbarkeit

Die Verfasserzeile sollte immer klar und gut lesbar sein und in der richtigen Farbvariation für einen gegebenen Hintergrund erscheinen. Für die ausgewählte Logovariante muss immer genügend Kontrast geschaffen werden.

Farbe

Verwenden Sie Google Material Gray 700-Text auf weißem oder hellem Hintergrund mit einem maximalen Schwarzwert von 0 bis 40 %.

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

Verwenden Sie auf dunkleren Hintergründen und auf Fotos oder bei Mustern, die nicht überladen sind, weißen Text für die Verfasserzeile und die Quellenangabe.

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

Schriftart

Verwenden Sie die Schriftart Roboto.

Beispiel-CSS

Wenn das folgende CSS auf den Text „Google“ angewendet wird, würde es „Google“ mit der entsprechenden Schriftart, Farbe und dem entsprechenden Abstand auf weißem oder hellem Hintergrund rendern.

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;