对于 Google Places API,缓存的“合理使用”情况是什么?

and*_*per 13 android caching google-maps google-places-api

背景

我正在开发一个应用程序,除其他外,它允许与通过附近搜索找到的企业联系、导航到它们、访问它们的网站......

一旦用户对单个企业执行任何操作,它就会被添加到最近列表中,允许用户再次执行该操作,或再次查看有关该企业的信息。

如果用户致电某个企业,下次访问最近列表时,它应该显示为列表项,以及姓名、电话号码等......

如果导航到它,情况也是如此。

问题

我注意到术语中缓存有一个很大的限制,即只允许永久存储地点ID,而基本地理坐标(lat-lng)可以存储30天。

奇怪的是,它说可以只存储地点 ID 和坐标,但如果没有映射和上下文,我找不到这些有什么用。当然,如果您添加上下文,您实际上会存储更多信息。例如,如果您拨打了该地点并显示了名称,那么您已经知道这两个地点,因此两者都应该映射到地点 ID...

链接:

  1. https://cloud.google.com/maps-platform/terms/maps-service-terms#5.-places-api

缓存。客户可以临时缓存 Places API 中的纬度 (lat) 和经度 (lng) 值,最多可连续 30 个日历日,之后客户必须删除缓存的纬度和经度值。客户可以缓存 Places API 地点 ID (place_id) 值

  1. https://cloud.google.com/maps-platform/terms/#3.-license

无缓存。除非地图服务特定条款明确允许,否则客户不得缓存 Google 地图内容。

  1. https://developers.google.com/places/web-service/policies#pre-fetching,-caching,-or-storage-of-content

使用 Places API 的应用程序受 Google Maps Platform 服务条款的约束。条款第 3.2.3(a) 和 (b) 节规定,除非条款中规定的有限条件,否则您不得预取、索引、存储或缓存任何内容。

请注意,用于唯一标识地点的地点 ID 不受缓存限制。因此,您可以无限期地存储地点 ID 值。地点 ID 在 Places API 响应的 place_id 字段中返回。

我发现了什么

遗憾的是我无法找到有关此的更多信息。

有人告诉我,作为“合理使用”的一部分,缓存应该在 24 小时内有效,以避免重新查询已经获得的内容,类似于 Web 浏览器处理查询的方式。例如,如果用户希望查看他几秒钟前已经获得的信息,这会有所帮助。

我还被告知,如果它在用户自己的设备上是本地的,那么也应该没问题,因为它没有在外部发布,并且用户无论如何都可以手动保存信息。

对于每一个主张,我都找不到参考资料。

这在这里非常重要,因为应用程序“最近”列表上的项目与实际位置之间必须存在某种映射。例如,如果是电话呼叫,则它至少必须具有(地点的)地点 ID 和(呼叫的)电话号码。但它还应该显示该地点的名称,因为用户只是显示了此信息并希望在那里看到它,而不仅仅是电话号码。

问题

  1. 奇怪的是,它说可以只存储地点 ID 和坐标,但是如果它们没有任何映射,那么这些有什么用呢?我到底能用这个做什么呢?

  2. 在这种情况下,缓存的合理使用是什么?

  3. 对于所有 API,缓存一般来说 24 小时都可以吗?

  4. 如果它非常相关,因为用户执行了与查询相关的操作(拨打了该地点的电话号码,因此应该可以在列表中以及其他地方看到此信息),我是否也可以将其存储在存储中?我的意思是存储我从 Google Places 获得的每个最近列表项的基本相关信息?也许我可以给基本信息设置一个过期日期,同时让place-ID保留,等过期了才重新查询?

否则,这意味着应用程序将需要在每次显示列表时重新查询所有地点,以获取电话号码和每个地点信息之间的映射,并且很容易花费大量金钱。