Les fonctionnalités du SDK Places pour Android disponibles dans votre application sont déterminées par une combinaison du numéro de version du SDK (par exemple, 3.5.0) que vous spécifiez dans la configuration de votre application, des API activées sur votre clé API et de la manière dont vous initialisez votre application. Ce guide explique les différences entre les versions et comment sélectionner les versions activées dans votre application.
Numéros de version du SDK
Le numéro de version du SDK que vous spécifiez dans votre fichier build.gradle au niveau de l'application détermine si votre application a accès aux fonctionnalités ajoutées dans une version spécifique. Par exemple, la fonctionnalité de saisie semi-automatique (nouvelle) n'est disponible que dans la version 3.5.0 ou ultérieure du SDK.
Pour en savoir plus sur les modifications apportées à chaque version du SDK, consultez les notes de version du SDK Places pour Android.
Versions de l'API Places pour le SDK Places pour Android
En plus de spécifier un numéro de version du SDK, vous devez également sélectionner le service de l'API Places que le SDK appelle dans la Google Cloud Console: API Places ou API Places (nouvelle). Avec le numéro de version du SDK, le service d'API que vous sélectionnez détermine la version des fonctionnalités spécifiques disponibles dans votre application, telles que la saisie semi-automatique ou la saisie semi-automatique (nouvelle). Bien que vous ne puissiez spécifier qu'un seul numéro de version de SDK, vous pouvez activer à la fois l'API Places et l'API Places (nouvelle) sur votre clé API, puis sélectionner le service que le SDK appelle via la méthode que vous utilisez pour initialiser le SDK dans votre application. Toutefois, dans la plupart des cas, vous devez activer l'API Places (nouvelle) et utiliser les versions (nouvelles) des fonctionnalités du SDK dans votre application.
Sélectionner votre version de SDK et vos services d'API
Pour sélectionner les fonctionnalités du SDK disponibles dans votre application, procédez comme suit:
- Dans votre projet Google Cloud, activez l'API Google Adresses, l'API Google Adresses (nouvelle) ou les deux. Pour en savoir plus, consultez Activer des API.
- Dans les restrictions de votre clé API, activez l'API Places, l'API Places (nouvelle) ou les deux. Pour en savoir plus, consultez Restreindre les clés API.
Dans le fichier build.gradle au niveau de l'application, spécifiez un numéro de version. Pour en savoir plus, consultez la section Installation.
Initialisez votre application en appelant la méthode
Places.initializeWithNewPlacesApiEnabled()
ouPlaces.initialize()
.
Pour en savoir plus sur la sélection du service API Places, consultez Configurer votre projet Google Cloud.
Fonctionnalités du SDK disponibles dans chaque version
Le tableau suivant indique les versions de SDK et d'API requises pour chaque fonctionnalité de SDK:
Fonctionnalité | API Places activée sur la clé API | Méthode d'initialisation | Version minimale du SDK |
---|---|---|---|
Saisie semi-automatique (nouvelle) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Informations sur le lieu (nouvelle version) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Nearby Search (Nouveau) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Placer des photos (nouveau) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
Recherche textuelle (nouveau) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Place Autocomplete | API Places | initialize() |
|
Current Place | API Places | initialize() |
|
Place Details | API Places | initialize() |
|
Placer des photos | API Places | initialize() |
Éléments à prendre en compte pour choisir les versions à activer
Pour vous aider à choisir la version à utiliser, tenez compte des points suivants:
- Si vous êtes un nouveau client qui commence à utiliser le SDK Places pour Android, commencez par l'API Places (nouvelle) et le nouveau SDK.
- Si vous êtes un client existant, vous pouvez continuer à utiliser le SDK existant. Toutefois, pour profiter des améliorations de performances et des fonctionnalités du SDK Places pour Android (nouveau), vous devez utiliser le nouveau SDK. Aucune migration n'est nécessaire lors du passage au nouveau SDK. Il vous suffit de suivre la procédure décrite dans la section Sélectionner votre version de SDK et vos services d'API.
- Dans le SDK Places pour Android (nouveau), les jetons de session sont disponibles à partir de la version 3.5.0. Pour en savoir plus, consultez la section Jetons de session.
- Les appels effectués à l'aide de widgets Place Autocomplete appellent toujours Place Autocomplete, et non Place Autocomplete (Nouveau). Les appels de widget ne sont pas affectés par la méthode d'initialisation.
- Place Photos (New) ne renvoie qu'un URI vers une image bitmap, tandis que Place Photos ne renvoie qu'une image bitmap.
- Lieu actuel n'est disponible que dans le SDK Places pour Android, et non dans le SDK Places pour Android (nouveau).
Améliorations apportées au SDK Places pour Android (nouveau)
Cette section présente les principales fonctionnalités ajoutées au SDK Places pour Android (nouveau).
Implémenté sur la plate-forme standard Google Cloud
Le SDK Places pour Android (nouveau) est implémenté sur l'infrastructure de service sur Google Cloud. Cette implémentation offre une plate-forme plus sécurisée et fiable. Cette conception standard apporte un niveau de cohérence entre les SDK qui améliore l'efficacité du développement avec le SDK Places pour Android (nouveau).
Performances améliorées
Le SDK Places pour Android (nouveau) offre de meilleures performances, ce qui justifie le remplacement des applications qui utilisent le SDK existant.
Nouvelles fonctionnalités
Le SDK Places pour Android (nouveau) inclut les dernières versions de toutes les fonctionnalités du SDK:
- Saisie semi-automatique (nouvelle)
- Informations sur le lieu (nouvelle version)
- Nearby Search (Nouveau)
- Placer des photos (nouveau)
- Recherche textuelle (nouveau)
Nouveau service de recherche textuelle
Text Search (nouveau) renvoie des informations sur un ensemble de lieux en fonction d'une chaîne, par exemple "pizza à New York", "magasin de chaussures près d'Ottawa" ou "123 Main Street". Ce service renvoie une liste des lieux correspondant à la chaîne de texte et aux limitations de zone géographique définis.
Nouvelles données de réponse ajoutées à Place Details (New) et Place Photos (New)
Informations sur le lieu (nouveau) inclut désormais la nouvelle classe Avis dans l'objet
Place
de la réponse. La classe Place contient la nouvelle méthodegetReviews()
pour prendre en charge ce champ. AppelezgetReviews()
pour renvoyer jusqu'à cinq avis pour un lieu.Placer une photo (nouveau) ajoute
AuthorAttributions
à la classePhotoMetadata
.AuthorAttributions
contient unList
d'objetsAuthorAttribution
.
Nouvelle réponse URI ajoutée à "Photos de lieux" (nouveau)
Vous pouvez désormais utiliser Placer une photo (nouveau) pour renvoyer un URI vers un bitmap d'image. Auparavant, vous ne pouviez renvoyer que le bitmap de l'image elle-même.
Tarification simplifiée
La tarification est simplifiée avec le SDK Places pour Android (nouveau) afin que vous ne payiez que les données que vous utilisez. La tarification simplifiée est implémentée à l'aide de listes de champs, également appelées masques de champ.
Avec Place Details et Text Search, vous utilisez des listes de champs pour contrôler la liste des champs à renvoyer dans la réponse. Seules les données demandées vous sont alors facturées. L'utilisation d'une liste de champs est une bonne pratique de conception pour vous assurer de ne pas demander de données inutiles. Vous pourrez ainsi réduire le temps de traitement et les frais facturés.
Pour en savoir plus sur la tarification des deux SDK, consultez la section Consommation et facturation.
Types de lieux étendus
Le nouveau SDK ajoute les types d'établissements indiqués dans le tableau suivant. Ces types sont renvoyés dans la réponse Place Details et Text Search. Vous pouvez également utiliser ces nouveaux types, ainsi que les types existants, dans une recherche avec la recherche textuelle. Les nouveaux types sont inclus dans le tableau A.
Type | |||
---|---|---|---|
american_restaurant | discount_store | ice_cream_shop | sandwich_shop |
amusement_center | dog_park | indian_restaurant | school_district |
athletic_field | electric_vehicle_charging_station | indonesian_restaurant | seafood_restaurant |
auto_parts_store | event_venue | italian_restaurant | ski_resort |
banquet_hall | extended_stay_hotel | japanese_restaurant | spanish_restaurant |
barbecue_restaurant | ferme | korean_restaurant | sporting_goods_store |
barber_shop | vacances à la ferme | lebanese_restaurant | sports_club |
bed_and_breakfast | fast_food_restaurant | Marina | sports_complex |
brazilian_restaurant | ferry_terminal | marché | steak_house |
breakfast_restaurant | fitness_center | medical_lab | sushi_restaurant |
brunch_restaurant | french_restaurant | mediterranean_restaurant | swimming_pool |
bus_stop | gift_shop | mexican_restaurant | tailleur |
camping_cabin | golf_course | middle_eastern_restaurant | telecommunications_service_provider |
cell_phone_store | greek_restaurant | motel | thai_restaurant |
child_care_agency | grocery_store | national_park | transit_depot |
chinese_restaurant | guest_house | park_and_ride | truck_stop |
coffee_shop | hair_salon | performing_arts_theater | turkish_restaurant |
community_center | hamburger_restaurant | pizza_restaurant | vegan_restaurant |
consultant | héliport | aire de jeux | vegetarian_restaurant |
convention_center | hiking_area | centre préscolaire | vietnamese_restaurant |
cottage | historical_landmark | private_guest_room | visitor_center |
courier_service | home_improvement_store | ramen_restaurant | wedding_venue |
cultural_center | auberge de jeunesse | resort_hotel | grossiste |
dental_clinic | hotel | rest_stop |
En plus de ces nouveaux types, l'API Places (nouvelle) a déplacé les types suivants du tableau 2 de l'API Places vers le tableau A de l'API Places (nouvelle). Vous pouvez donc désormais utiliser ces types dans une recherche:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality