Esta seção explica como acessar os locais de jogo e contém exemplos que demonstram como chamar as APIs.
Receber localizações jogáveis
Você recupera conjuntos de locais jogáveis sob demanda, à medida que os jogadores progridem no jogo. Não é possível recuperar e armazenar em cache um conjunto de dados grande para uso por um longo período.
Para receber um conjunto de locais onde é possível jogar, chame o
método
samplePlayableLocations
. Na chamada, você especifica a área a ser pesquisada e também os critérios de filtro. O método samplePlayableLocations
retorna um conjunto de
objetos PlayableLocation
, que contém locais jogáveis selecionados e
gerados.
A solicitação HTTP
O código a seguir demonstra como chamar o método samplePlayableLocations
fazendo uma solicitação POST HTTP, transmitindo parâmetros no corpo da solicitação.
POST https://playablelocations.googleapis.com/v3:samplePlayableLocations?key=YOUR_API_KEY
O corpo da solicitação
Ao chamar o método samplePlayableLocations
, você transmite os parâmetros da chamada usando um objeto JSON no corpo da solicitação HTTP.
{
"areaFilter": {
"s2CellId": string,
},
"criteria": [
{
"gameObjectType": number,
"filter": {
"maxLocationCount": number,
"spacing": {
"minSpacingMeters": number,
"pointType": enum(PointType)
},
"includedTypes": [
string
],
},
"fieldsToReturn": string
}
]
}
Modelo de objeto de solicitação
As relações entre os subobjetos JSON são representadas na ilustração abaixo.
Exemplo 1: corpo da solicitação
O exemplo de código a seguir demonstra
filters
e
fields_to_return
.
{
"area_filter":{
"s2_cell_id":7715420662885515264
},
"criteria":[
{
"gameObjectType":1,
"filter":{
"maxLocationCount":4,
"includedTypes":[
"food_and_drink"
]
},
"fields_to_return": {"paths": ["name"]}
},
{
"gameObjectType":2,
"filter":{
"maxLocationCount":4
},
"fields_to_return": {"paths": ["types", "snapped_point"]}}
]
}
Exemplo 2: corpo da solicitação
O exemplo de código abaixo demonstra
maxLocationCount
para vários tipos de objeto.
{
"area_filter":{
"s2_cell_id":7715420662885515264
},
"criteria":[
{
"gameObjectType":1,
"filter":{
"maxLocationCount":4,
"spacing":{
"minSpacingMeters":500
}
}
},
{
"gameObjectType":2,
"filter":{
"maxLocationCount":4,
"spacing":{
"minSpacingMeters":400
}
}
},
{
"gameObjectType":3,
"filter":{
"maxLocationCount":50,
"spacing":{
"minSpacingMeters":200
}
}
}
]
}