Cette section explique comment obtenir des emplacements lisibles et contient également des exemples qui montrent comment appeler les API.
Obtenir des lieux de lecture
Vous récupérez des ensembles de lieux jouables à la demande à mesure que les joueurs progressent dans votre jeu. Vous ne récupérez pas un ensemble de données volumineux, puis vous ne le mettez pas en cache pour une utilisation sur une longue période.
Vous pouvez obtenir un ensemble d'emplacements de lecture en appelant la méthode samplePlayableLocations
. Dans votre appel, vous spécifiez la zone dans laquelle effectuer la recherche ainsi que des critères de filtre. La méthode samplePlayableLocations
renvoie un ensemble d'objets PlayableLocation
, qui contient à la fois des lieux lisibles sélectionnés et des lieux lisibles générés.
La requête HTTP
Le code suivant montre comment appeler la méthode samplePlayableLocations
en effectuant une requête HTTP POST en transmettant des paramètres dans le corps de la requête.
POST https://playablelocations.googleapis.com/v3:samplePlayableLocations?key=YOUR_API_KEY
Corps de la requête
Lorsque vous appelez la méthode samplePlayableLocations
, vous transmettez les paramètres d'appel à l'aide d'un objet JSON dans le corps de la requête HTTP.
{
"areaFilter": {
"s2CellId": string,
},
"criteria": [
{
"gameObjectType": number,
"filter": {
"maxLocationCount": number,
"spacing": {
"minSpacingMeters": number,
"pointType": enum(PointType)
},
"includedTypes": [
string
],
},
"fieldsToReturn": string
}
]
}
Modèle d'objet de requête
Les relations entre les sous-objets JSON sont illustrées dans l'illustration suivante.
Exemple 1: corps de la requête
L'exemple de code suivant illustre filters
et 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"]}}
]
}
Exemple 2: corps de la requête
L'exemple de code suivant illustre l'utilisation de maxLocationCount
pour différents types d'objets.
{
"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
}
}
}
]
}