Règles du SDK Places pour Android

Cet article présente les exigences d'attribution pour toutes les applications développées avec le SDK Places pour Android, y compris le service Place Autocomplete faisant partie de cette API. Pour en savoir plus, consultez les Conditions d'utilisation de Google Maps Platform.

Mentionner les conditions d'utilisation et règles de confidentialité

Si vous développez un SDK Places pour Android pour votre application, vous devez mettre à disposition les Conditions d'utilisation et les Règles de confidentialité dans votre application, qui doivent respecter les consignes décrites dans votre Contrat avec Google:

  • Les conditions d'utilisation et les règles de confidentialité doivent être publiques.
  • Vous devez stipuler explicitement dans les conditions d'utilisation qu'en utilisant votre application, les utilisateurs sont tenus de respecter les Conditions d'utilisation de Google.
  • Dans vos règles de confidentialité, vous devez informer les utilisateurs que vous avez recours aux API Google Maps et intégrer les Règles de confidentialité de Google pour référence.

L'emplacement recommandé pour insérer vos conditions d'utilisation et règles de confidentialité dépend de la plate-forme de votre application.

Applications mobiles

Si vous développez une application mobile, nous vous recommandons de fournir un lien vers les conditions d'utilisation et règles de confidentialité sur la page de téléchargement de votre application (sur la plate-forme concernée) et dans le menu des paramètres de l'application.

Applications Web

Si vous développez une application Web, nous vous recommandons de fournir un lien vers les conditions d'utilisation et les règles de confidentialité dans le pied de page de votre site Web.

Préchargement, mise en cache ou stockage de contenu

Les applications qui utilisent le SDK Places pour Android sont liées par les conditions de votre contrat avec Google. Conformément aux dispositions de votre contrat, vous ne devez précharger, indexer, stocker ni mettre en cache aucun contenu, sauf conformément aux conditions limitées énoncées dans les dispositions.

Notez que l'ID de lieu, qui permet d'identifier un lieu de façon unique, n'est pas soumis aux restrictions de mise en cache. L'ID de lieu est renvoyé dans le champ "place_id" des réponses du SDK Places pour Android. Découvrez comment enregistrer, actualiser et gérer les ID de lieu dans le guide des ID de lieu.

Afficher les résultats du SDK Places pour Android

Vous pouvez afficher les résultats du SDK Places pour Android sur une carte Google Maps, ou sans carte. Si vous souhaitez afficher les résultats du SDK Places pour Android sur une carte, ces résultats doivent être affichés sur une carte Google Maps. Il est interdit d'utiliser des données du SDK Places pour Android sur une carte qui n'est pas une carte Google.

Si votre application affiche des données sur une carte Google, vous devez inclure le logo Google sans le modifier. Les applications qui affichent des données Google sur le même écran qu'une carte Google ne sont pas tenues de fournir d'autres informations d'attribution à Google.

Si votre application affiche des données sur une page ou une vue sans carte Google, vous devez accompagner ces données du logo Google. Par exemple, si votre application affiche des données Google dans un onglet et une carte Google avec ces données dans un autre onglet, le premier onglet doit afficher le logo Google. Si votre application utilise des champs de recherche avec ou sans saisie semi-automatique, le logo doit être visible sur la même ligne ou juste à côté.

Le logo Google doit être positionné en bas à gauche de la carte et les informations d'attribution doivent être placées en bas à droite. Ces deux éléments doivent s'afficher entièrement sur la carte, et non en dessous de la carte ni à un autre endroit dans l'application. L'exemple de carte suivant montre le logo Google en bas à gauche de la carte et l'attribution en bas à droite.

Emplacement de l'attribution pour une règle donnée

Le fichier zip suivant contient le logo Google dans les dimensions appropriées pour les applications de bureau, Android et iOS. Vous ne devez en aucun cas redimensionner ni modifier ces logos.

Télécharger : google_logo.zip

Ne modifiez pas l'attribution. Vous ne devez pas supprimer, masquer ni rogner les informations d'attribution. Vous ne pouvez pas utiliser les logos Google en les intégrant (par exemple, "Ces cartes proviennent de [Google_logo]").

Placez les informations d'attribution à proximité du contenu. Si vous utilisez des captures d'écran d'images Google en dehors d'intégrations directes, incluez l'attribution standard telle qu'elle apparaît dans l'image. Si nécessaire, vous pouvez personnaliser le style et l'emplacement du texte d'attribution à condition qu'il soit placé à proximité du contenu et lisible par un utilisateur lambda. Vous n'êtes pas autorisé à déplacer l'attribution en dehors du contenu, par exemple à la fin de votre livre, dans les crédits de vos fichiers ou de votre émission, ou dans le pied de page de votre site Web.

Indiquez les fournisseurs de données tiers. Dans nos produits de cartographie, certaines données et images proviennent de fournisseurs autres que Google. Si vous utilisez de telles images, le texte de votre attribution doit mentionner le nom "Google" et les fournisseurs de données concernés (par exemple, "Données cartographiques : Google, Maxar Technologies"). Lorsque des fournisseurs de données tiers sont cités avec les images, la seule mention de "Google" ou du logo Google ne constitue pas une information d'attribution suffisante.

Si vous utilisez Google Maps Platform sur un appareil où il n'est pas pratique d'afficher les informations d'attribution, veuillez contacter l'équipe commerciale Google pour discuter des licences adaptées à votre situation.

Autres exigences concernant l'attribution

Suivez ces instructions pour récupérer les attributions tierces et les afficher dans votre application.

Extraire les mentions d'un lieu

Si votre application affiche des informations obtenues en appelant la méthode Get place by ID (Obtenir le lieu par ID), elle doit également afficher les attributions tierces pour les détails du lieu obtenus.

L'API renvoie un objet Place. Pour récupérer les attributions à partir de l'objet Place, appelez Place.getAttributions(). La méthode renvoie un List d'objets String, ou la valeur "null" s'il n'y a aucune attribution à afficher.

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

Afficher les attributions pour une photo

Si votre application affiche des photos de lieux, vous devez indiquer les attributions de chacune d'elles. PhotoMetadata peut contenir l'un des deux types d'attributions:

Pour obtenir les attributions de chaîne pour une photo, appelez PhotoMetadata.getAttributions(). La méthode renvoie une séquence de caractères HTML ou une chaîne vide s'il n'y a aucune attribution à afficher.

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

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

Pour obtenir les attributions d'auteurs d'une photo, appelez PhotoMetadata.getAuthorAttributions(). La méthode renvoie un objet AuthorAttributions. Cet objet contient une List d'objets AuthorAttribution, un par attribution d'auteur.

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

Afficher un avis

Un objet Place peut contenir jusqu'à cinq avis, chacun étant représenté par un objet Review. Si vous le souhaitez, vous pouvez afficher ces avis dans votre application.

Lorsque vous affichez des avis fournis par des utilisateurs Google, vous devez placer le nom de l'auteur à proximité. Si le champ d'attribution de l'auteur de l'objet Review est disponible, nous vous recommandons d'inclure la photo de l'auteur et d'ajouter un lien vers son profil. L'image suivante montre un exemple d'avis sur un parc:

Affichage des informations sur l&#39;auteur

Google vous recommande également d'afficher la manière dont les avis sont triés pour l'utilisateur final.

Pour accéder aux avis, appelez 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.
    }
});

Afficher les mentions tierces

Les attributions à des fournisseurs tiers contiennent du contenu et des liens au format HTML que vous devez conserver et afficher pour l'utilisateur au format dans lequel ils sont fournis. Google vous recommande d'afficher ces informations sous les détails du lieu.

L'API génère les attributions pour tous les lieux utilisés par l'application. Elles sont fournies par appel d'API et non par lieu.

Vous pouvez afficher les attributions à l'aide d'un TextView. Exemple :

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

Exemple de mention tierce

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

Consignes de style pour l'attribution Google

Vous trouverez ci-dessous les consignes à appliquer concernant le style des attributions Google en CSS et HTML si vous ne pouvez pas utiliser le logo Google téléchargeable.

Espacement

L'espacement autour du logo complet doit être égal ou supérieur à la hauteur du "G" de Google.

L'espacement entre le texte d'attribution et le logo Google doit correspondre à la moitié de la largeur du "G".

Lisibilité

Le nom de l'auteur doit toujours s'afficher de façon claire et lisible, dans une variante de couleur adaptée à l'arrière-plan. Veillez à toujours prévoir suffisamment de contraste pour la variante de logo que vous choisissez.

Couleur

Utilisez un texte en Google Material Gray 700 sur un arrière-plan clair ou blanc, avec une teinte de noir entre 0 % et 40 % maximum.

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

Sur les arrière-plans plus sombres, et sur les photos ou motifs simples, utilisez un texte blanc pour le nom de l'auteur et l'attribution.

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

Police

Utilisez la police Roboto.

Exemple d'élément CSS

L'élément CSS suivant appliqué au texte "Google" affichera "Google" avec les paramètres appropriés (police, couleur et espacement) sur un arrière-plan clair ou blanc.

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;