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 le fichier build.gradle au niveau de l'application détermine si votre application a accès aux fonctionnalités ajoutées dans une version particulière. Par exemple, la saisie semi-automatique (nouveau) 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 console Google Cloud: l'API Places ou l'API Places (nouvelle version). En plus du numéro de version du SDK, le service d'API que vous sélectionnez détermine la version de fonctionnalités spécifiques disponibles dans votre application, telles que la saisie semi-automatique ou la saisie semi-automatique (nouvelle version). Bien que vous ne puissiez spécifier qu'un seul numéro de version du SDK, vous pouvez activer simultanément l'API Places et l'API Places (nouvelle version) sur votre clé API, puis sélectionner le service appelé par le SDK via la méthode utilisée pour initialiser le SDK dans votre application. Toutefois, dans la plupart des cas, vous devrez activer l'API Places (nouvelle version) et utiliser les versions (nouvelles) des fonctionnalités du SDK dans votre application.
Sélectionnez la version du SDK et les 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 Places, l'API Places (nouvelle version) ou les deux. Pour en savoir plus, consultez la page Activer les API.
- Dans vos restrictions de clés API, activez l'API Places, l'API Places (nouvelle version) 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 de l'API Places, consultez Configurer votre projet Google Cloud.
Fonctionnalités du SDK disponibles dans chaque version
Le tableau suivant indique les versions du SDK et de l'API requises pour chaque fonctionnalité du SDK:
Sélection | API Places activée sur la clé API | Méthode d'initialisation | Version minimale du SDK |
---|---|---|---|
Saisie semi-automatique (nouveauté) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Place Details (New) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Nearby Search (nouveau) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Place Photos (nouveauté) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
Text Search (nouvelle version) | API Places (New) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Place Autocomplete | API Places | initialize() |
|
Current Place | API Places | initialize() |
|
Place Details | API Places | initialize() |
|
Place Photos | API Places | initialize() |
Éléments à prendre en compte pour choisir les versions à activer
Pour vous aider à choisir la version à utiliser, tenez compte des éléments suivants:
- Si vous êtes un nouveau client et que vous commencez tout juste à utiliser le SDK Places pour Android, commencez par l'API Places (nouvelle version) et le nouveau SDK.
- Si vous êtes déjà client, 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 lorsque vous passez au nouveau SDK. Il vous suffit de suivre les étapes de la section Sélectionner la version du SDK et les 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 (New). Les appels de widget ne sont pas affectés par la méthode d'initialisation.
- Place Photos (nouvelle version) ne renvoie qu'un URI vers une image bitmap, tandis que Place Photos ne renvoie qu'une image bitmap.
- Current Place 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ée sur la plate-forme standard Google Cloud
Le SDK Places pour Android (nouveau) est mis en œuvre sur l'infrastructure de services sur Google Cloud. Cette implémentation offre une plate-forme plus sécurisée et plus fiable. Cette conception standard apporte un niveau de cohérence entre les SDK, ce 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. Il est donc intéressant de remplacer les applications qui utilisent le SDK existant.
Nouvelles fonctionnalités
Le SDK Places pour Android (nouvelle version) inclut les dernières versions de toutes les fonctionnalités du SDK:
- Saisie semi-automatique (nouveauté)
- Place Details (New)
- Nearby Search (nouveau)
- Place Photos (nouveauté)
- Text Search (nouvelle version)
Nouveau service Text Search
Text Search (nouvelle version) 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". Le service répond avec une liste des lieux correspondant à la chaîne de texte et aux limitations de zone géographique définies.
Nouvelles données de réponse ajoutées à Placed Details (New) et Place Photos (New)
Place Details (nouveau) inclut désormais la nouvelle classe Review dans l'objet de réponse
Place
. La classe Place contient la nouvelle méthodegetReviews()
compatible avec ce champ. AppelezgetReviews()
pour renvoyer jusqu'à cinq avis sur un lieu.Place Photo (nouvelle version) ajoute
AuthorAttributions
à la classePhotoMetadata
.AuthorAttributions
contient unList
d'objetsAuthorAttribution
.
Nouvelle réponse URI ajoutée à Place Photos (nouveau)
Vous pouvez maintenant utiliser Place Photo (nouveau) pour renvoyer un URI à un bitmap d'image. Auparavant, vous ne pouviez renvoyer que le bitmap de l'image lui-même.
Tarification simplifiée
La tarification est simplifiée avec le SDK Places pour Android (nouveau). Ainsi, vous ne payez que pour les données que vous utilisez. La tarification simplifiée est mise en œuvre à 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 facturées. Une liste de champs est une bonne pratique à suivre pour vous assurer de ne pas demander de données inutiles, ce qui permet d'éviter le temps de traitement et les frais facturés.
Pour obtenir des informations détaillées sur la tarification des deux SDK, consultez la page Utilisation et facturation.
Types de lieux développés
Le nouveau SDK ajoute les types de lieux 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 et les types existants dans une recherche avec Text Search. 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 | 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 | playground | 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 |
Parallèlement à ces nouveaux types, l'API Places (nouvelle version) a déplacé les types suivants du tableau 2 pour l'API Places vers le tableau A pour l'API Places (nouvelle version). Cela signifie que vous pouvez désormais utiliser ces types dans le cadre d'une recherche:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality