Package google.maps.playablelocations.v3

索引

PlayableLocations

适用于 v3 的 Playable Locations API。

LogImpressions

rpc LogImpressions(LogImpressionsRequest) returns (LogImpressionsResponse)

在显示可播放地点以及用户与这些地点互动时记录新事件。

系统未保存部分展示;要么系统已保存所有展示且此请求成功,要么未保存任何展示,导致此请求失败。

LogPlayerReports

rpc LogPlayerReports(LogPlayerReportsRequest) returns (LogPlayerReportsResponse)

记录玩家提交的可播放位置报告错误。

报告不会部分保存;要么所有报告已保存且此请求成功,要么未保存任何报告,导致此请求失败。

SamplePlayableLocations

rpc SamplePlayableLocations(SamplePlayableLocationsRequest) returns (SamplePlayableLocationsResponse)

返回位于指定区域内且满足可选过滤条件的一组可播放位置。

注意:随着世界状况随着时间的推移而变化,相同的 SamplePlayableLocations 请求可能会返回不同的结果。

展示

封装展示事件详情。

字段
location_name

string

必需。可播放位置的名称。

impression_type

ImpressionType

必需。展示事件类型。

game_object_type

int32

开发者为游戏中使用的每种游戏对象类型定义的任意类型标识符。

由于玩家会以不同的方式与不同类型的游戏对象互动,因此您可以通过此字段按类型划分展示数据,以便进行分析。

您应该分配一个唯一的 game_object_type ID 来代表游戏中不同类型的游戏对象。

例如,1=怪兽位置,2=能力提升道具位置。

ImpressionType

展示事件类型。

枚举
IMPRESSION_TYPE_UNSPECIFIED 未指定类型。请勿使用。
PRESENTED 向玩家呈现了可播放位置。
INTERACTED 玩家与可播放位置进行了互动。

LogImpressionsRequest

用于记录展示次数的请求。

字段
impressions[]

Impression

必需。展示事件详细信息。您一次最多可记录 50 个展示报告。

request_id

string

必需。用于唯一标识日志展示次数请求的字符串。这样可以检测重复请求。我们建议您为此值使用 UUID。该值不得超过 50 个字符。

只有在失败时重试请求,才应重复使用 request_id。在这种情况下,请求必须与失败的请求相同。

client_info

ClientInfo

必需。客户端设备的相关信息。例如,设备型号和操作系统。

LogImpressionsResponse

LogImpressions 方法的响应。成功后,此方法不会返回任何数据。

LogPlayerReportsRequest

用于记录播放器错误位置报告的请求。

字段
player_reports[]

PlayerReport

必需。玩家报告。您最多可以同时记录 50 份玩家报告。

request_id

string

必需。一个唯一标识日志播放器报告请求的字符串。这样可以检测重复请求。我们建议您为此值使用 UUID。该值不得超过 50 个字符。

只有在请求失败时重试请求,您才应重复使用 request_id。在这种情况下,请求必须与失败的请求相同。

client_info

ClientInfo

必需。客户端设备的相关信息(例如设备型号和操作系统)。

LogPlayerReportsResponse

LogPlayerReports 方法的响应。

成功后,此方法不会返回任何数据。

PlayerReport

玩家提交的有关某游戏地点被认为不适合在游戏中使用的可玩地点的报告。

字段
location_name

string

必需。可播放位置的名称。

reasons[]

BadLocationReason

必需。此可播放位置被视为不良原因的一个或多个原因。

reason_details

string

必需。自由形式的说明,详细说明可播放位置被视为不良位置的原因。

language_code

string

语言代码(采用 BCP-47 格式),用于表示 reason_details 中提供的自由格式说明的语言。例如“en”“en-US”或“ja-Latn”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier

BadLocationReason

可播放位置被视为不良位置的原因。

枚举
BAD_LOCATION_REASON_UNSPECIFIED 原因不明。请勿使用。
OTHER 原因不是此枚举中的原因之一。
NOT_PEDESTRIAN_ACCESSIBLE 行人无法到达可播放位置。例如,在高速公路中间时即可。
NOT_OPEN_TO_PUBLIC 该游戏地点未向公众开放。例如私人办公楼。
PERMANENTLY_CLOSED 可播放地点已永久停业。例如,商家停业时。
TEMPORARILY_INACCESSIBLE 暂时无法访问游戏位置。例如,商家停业进行翻修时。

SamplePlayableLocationsRequest

查询的生命周期:

  • 当游戏在新位置开始时,您的游戏服务器会发出 SamplePlayableLocations 请求。该请求指定 S2 单元格,并包含一个或多个过滤“条件”:

  • 条件 0:i 表示长期基地或 0 级怪物的地理位置,或者...

  • 条件 1:j 个位置(短期基地)或 1 级怪物...
  • 条件 2:随机对象 k 个位置。
  • 等(最多可指定 5 个条件)。

然后,PlayableLocationList 将包含满足每个条件的 PlayableLocation 对象的互斥列表。您可以将其想象成一组真实地点,然后将其与游戏状态相关联。

注意:这些要点在本质上是永久性的。例如,公园可以关闭,地点可以移除。

响应会指定可播放位置的预计持续时间。到期后,您应再次查询 samplePlayableLocations API,获取全新的真实世界视图。

字段
area_filter

AreaFilter

必需。指定要在其中搜索可播放位置的区域。

criteria[]

Criterion

必需。指定一个或多个(最多 5 个)条件,用于过滤返回的可播放位置。

SamplePlayableLocationsResponse

SamplePlayableLocations 方法的响应。

字段
locations_per_game_object_type

map<int32, PlayableLocationList>

每个 PlayableLocation 对象都与请求中指定的 game_object_type 相对应。

ttl

Duration

必需。指定一组可播放位置的“存留时间”。您可以使用此值来确定可播放位置集的缓存时长。待这段时间过后,您的后端游戏服务器应发出新的 SamplePlayableLocations 请求,以获取一组新的可供畅玩的地点(例如,这些地点可能已被移除、某个公园可能在当天已关闭、商家可能已经永久停业)。