Places SDK for Android 的政策

本主题介绍了使用 Places SDK for Android 开发的所有应用(包括该 API 中的地点自动补全服务)的提供方说明要求。如需详细了解 Google Maps Platform 条款,请参阅 Google Maps Platform 服务条款

提供使用条款和隐私政策

如果您开发 Places SDK for Android 应用,则必须让应用提供使用条款隐私权政策,并确保其符合您与 Google 达成的协议中列出的准则:

  • 使用条款》和《隐私权政策》必须公开发布。
  • 您必须在应用的使用条款中明确声明,使用您的应用即表示用户受 Google 服务条款的约束。
  • 您必须在隐私权政策中告知用户您使用的是 Google Maps API,并以提述方式纳入 Google 隐私权政策

关于显示《使用条款》和《隐私权政策》的建议位置因应用平台而异。

移动应用

如果您开发的是移动应用,建议您在相关应用商店的应用下载页面上以及应用设置菜单中提供指向使用条款隐私权政策的链接。

Web 应用

如果您要开发 Web 应用,建议您在网站页脚中提供指向《使用条款》和《隐私权政策》的链接。

预提取、缓存或存储内容

使用 Places SDK for Android 的应用必须遵守您与 Google 之间达成的协议中的条款。根据协议条款的规定,您不得预先提取、存储、缓存任何内容,除非在条款中规定的有限条件下。

请注意,用于唯一标识地点的地点 ID不受缓存限制的约束。地点 ID 会在 Places SDK for Android 响应的“place_id”字段中返回。如需了解如何保存、刷新和管理地点 ID,请参阅地点 ID 指南

显示 Places SDK for Android 结果

您可以在 Google 地图上显示 Places SDK for Android 结果,也可以不显示地图。如果您想在地图上显示 Places SDK for Android 的结果,这些结果必须显示在 Google 地图上。禁止在非 Google 地图地图上使用 Places SDK for Android 数据。

如果您的应用在 Google 地图上显示数据,则会包含 Google 徽标,且不得更改。在与 Google 地图相同的屏幕上显示 Google 数据的应用不需要向 Google 提供进一步的提供方说明。

如果您的应用在页面或视图上显示数据,但不显示 Google 地图,您必须在该数据中显示 Google 徽标。例如,如果您的应用在一个标签页上显示 Google 数据,而包含这些数据的 Google 地图在另一个标签页上显示,则第一个标签页必须显示 Google 徽标。如果您的应用使用搜索字段(无论是否提供自动补全功能),徽标必须以内嵌方式显示。

Google 徽标应放置在地图的左下角,而提供方信息应放置在右下角,这两个标志应作为整体在地图上呈现,而不是在地图之下或应用内的其他位置。以下地图示例在地图的左下角显示了 Google 徽标,在右下角展示了提供方说明。

政策归因放置

以下 ZIP 文件包含不同尺寸的 Google 徽标,分别适用于桌面设备、Android 和 iOS 应用。您不得以任何方式修改这些徽标或调整其大小。

下载google_logo.zip

请勿修改提供方说明。请勿移除、遮盖或剪裁归因信息。您不能内嵌 Google 徽标(例如,“这些地图来自 [Google_logo]”)。

确保归因接近。如果使用直接嵌入之外的 Google 图像的屏幕截图,请包含图片中显示的标准提供方说明。如有必要,您可以自定义提供方说明文本的样式和位置,只要文本靠近内容并且普通观看者或读者都能看清即可。 您不得将提供方说明移离内容,例如移到图书末尾、文件或节目的演职员表,或者网站的页脚。

包括第三方数据提供商。我们的地图产品中的部分数据和图片来自 Google 以外的提供商。如使用此类图像,您的提供方说明文字中必须标明“Google”名称以及相关的数据提供方,例如“地图数据:Google, Maxar Technologies”。图像中注明了第三方数据提供商时,只添加“Google”字样或 Google 徽标是不够的。

如果您在无法显示提供方说明的设备上使用 Google Maps Platform,请 与 Google 销售团队联系,讨论适合您使用情形的许可。

其他归因要求

请按照以下说明检索第三方提供方说明,并在您的应用中显示提供方说明。

从地点检索提供方说明

如果您的应用要显示通过调用按 ID 获取地点获得的信息,则该应用还必须显示所获取的地点详情的第三方提供方说明。

该 API 会返回 Place 对象。如需从 Place 对象检索提供方说明,请调用 Place.getAttributions()。该方法会返回 String,如果没有要显示的归因,则返回空字符串。

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());
    textView.append("Attributions: " + place.getAttributions());
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        // Handle the error.
    }
});

显示照片的提供方说明

如果您的应用显示照片,您必须针对包含该照片的每张照片显示提供方说明。PhotoMetadata 可以包含以下两种归因类型之一:

如需获取照片的字符串提供方说明,请调用 PhotoMetadata.getAttributions()。该方法会返回 HTML 字符序列,如果没有可显示的提供方说明,则返回空字符串。

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

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

如需获取照片的作者署名,请调用 PhotoMetadata.getAuthorAttributions()。该方法会返回 AuthorAttributions 对象。该对象包含一个由 AuthorAttribution 对象组成的 List,每个作者提供方说明一个。

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

显示评价

一个 Place 对象最多可以包含五条评价,其中每条评价都由一个 Review 对象表示。您可以选择在应用中显示这些评价。

显示 Google 用户撰写的评价时,您必须将作者的姓名放在邻近处。如果 Review 对象的作者署名字段中提供了相应信息,我们建议您添加作者的照片并链接到其个人资料。下图显示了公园评价的示例:

显示作者出处

Google 还建议您向最终用户显示评价的排序方式。

如需访问评价,请调用 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.
    }
});

显示第三方提供方说明

对第三方提供商的提供方说明包含 HTML 格式的内容和链接,您必须保留这些内容和链接,并以提供时所采用的格式向用户显示。Google 建议您在地点详情下方显示此信息。

API 会为应用使用的所有地点生成提供方说明。这些提供方说明是按 API 调用(而不是每个地点)提供的。

提供方说明的一种显示方式是使用 TextView。例如:

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

第三方提供方说明示例

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

Google 归因的样式指南

如果您无法使用可下载的 Google 徽标,请遵循 CSS 和 HTML 中 Google 提供方说明的样式指南。

留白

完整标识周围的留白空间应等于或大于 Google 中“G”的高度。

提供方说明与 Google 徽标之间的间距应为“G”宽度的一半。

易读性

署名应始终清晰可辨,并且根据给定背景以正确的颜色变化显示。请务必为您选择的徽标变体提供足够的对比度。

颜色

在白色或浅色背景上使用 Google Material 灰色 700 文本,最大色调为 0%-40%。

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

在较暗的背景中,以及摄影或非繁杂的图案上,请使用白色文本作为署名和提供方说明。

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

字体

使用 Roboto 字体。

示例 CSS

将以下 CSS 应用于文本“Google”后,可在白色或浅色背景上以适当的字体、颜色和间距呈现“Google”。

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;