1. Avant de commencer

Dans le parcours de formation sur la recherche d'images de produits, vous avez appris à appeler un backend de recherche de produits créé avec la recherche de produits de l'API Vision pour trouver des produits visuellement similaires dans un catalogue de produits.
Dans cet atelier de programmation, vous allez apprendre à créer un backend similaire, mais avec votre catalogue de produits.
Points abordés
- Créer un backend de recherche de produits avec la recherche de produits de l'API Vision
- Configurer une clé API pour accéder à l'API Vision depuis des applications mobiles
Prérequis
- Un compte Google Cloud pour lequel la facturation est activée (il peut s'agir d'un compte d'essai sans frais)
2. À propos de la recherche de produits de l'API Vision
La recherche de produits de l'API Vision est une fonctionnalité de Google Cloud qui permet aux marchands de créer des produits, chacun contenant des images de référence qui décrivent visuellement leur produit sous différents points de vue. Les revendeurs peuvent ensuite ajouter ces produits à des ensembles de produits. Actuellement, la recherche de produits de l'API Vision accepte les catégories de produits suivantes : "homegoods" (articles de maison), "apparel" (vêtements), "toys" (jouets), "packaged goods" (biens de consommation courante) et "general" (général).
Lorsque les utilisateurs interrogent un ensemble de produits avec leurs propres images, la recherche de produits de l'API Vision se base sur ses fonctionnalités de machine learning pour comparer le produit représenté par l'image de l'utilisateur avec les images de l'ensemble de produits du revendeur, puis renvoie une liste classée de résultats visuellement et sémantiquement similaires.
3. Créer le backend avec Google Cloud
Plus tôt dans le parcours de formation sur la recherche d'images de produits, vous avez utilisé un backend de recherche de produits de démonstration conçu avec la recherche de produits de l'API Vision. Créez le même backend sur votre compte Google Cloud en suivant ce tutoriel :
Une fois le tutoriel terminé, passez aux étapes suivantes pour configurer une clé API permettant d'appeler le backend depuis vos applications mobiles.
4. Configurer une clé API
Dans le guide de démarrage rapide de la recherche de produits de l'API Vision, vous avez créé un backend de recherche de produits capable de prendre une image de requête et de renvoyer des produits visuellement similaires. Pour appeler l'API Product Search depuis une application mobile, vous devez configurer une clé API, puis restreindre l'accès à cette clé à vos propres applications mobiles afin d'éviter toute utilisation non autorisée.
Créer une clé API
- Accédez à Cloud Console > API et services > Identifiants. Vous pouvez également cliquer sur cette URL et sélectionner le projet que vous avez utilisé dans le guide de démarrage rapide sur la recherche de produits.
- Sélectionnez Créer des identifiants > Clé API. La boîte de dialogue suivante s'affiche si votre clé API a été créée :

Notez cette clé API. Vous l'utiliserez plus tard dans cet atelier.
Restreindre l'accès à la clé API
Lorsque l'invite ci-dessus s'affiche, sélectionnez Restreindre la clé.
Suivez les instructions à l'écran pour appliquer ces restrictions :
- Restrictions relatives aux applications > Applications Android
- Restrictions d'API > Restreindre la clé > API Cloud Vision
5. Télécharger et exécuter l'application mobile
Vous pouvez télécharger l'application Android que vous avez créée précédemment et qui utilisait le backend de recherche de produits de démonstration, puis la modifier pour qu'elle utilise le nouveau backend que vous venez de créer.
Télécharger le code
Cliquez sur le lien ci-dessous pour télécharger l'ensemble du code de cet atelier de programmation :
Décompressez le fichier ZIP téléchargé. Cela décompressera un dossier racine (odml-pathway-codelabs) contenant toutes les ressources dont vous aurez besoin. Pour cet atelier de programmation, vous n'aurez besoin que des sources du sous-répertoire product-search/codelab2/android/final.
L'application utilise l'API ML Kit Object Detection and Tracking et un backend de recherche de produits de démonstration conçu avec Vision API Product Search pour permettre aux utilisateurs de prendre une photo et de rechercher des produits visuellement similaires dans le catalogue de produits de démonstration.
Importer l'application dans Android Studio
Commencez par importer l'application starter dans Android Studio.
Accédez à Android Studio, sélectionnez Import Project (Gradle, Eclipse ADT, etc.) (Importer un projet (Gradle, Eclipse ADT, etc.)), puis choisissez le dossier product-search/codelab2/android/final dans le code source que vous avez téléchargé précédemment.

Exécuter l'application de départ
Maintenant que vous avez importé le projet dans Android Studio, vous êtes prêt à exécuter l'application pour la première fois.
Connectez votre appareil Android via USB à votre hôte ou démarrez l'émulateur Android Studio,puis cliquez sur Run ( Exécuter)  dans la barre d'outils Android Studio.
 dans la barre d'outils Android Studio.
(Si ce bouton est désactivé, assurez-vous d'importer uniquement final/app/build.gradle, et non l'intégralité du dépôt.)
L'application devrait maintenant se lancer sur votre appareil Android. Il fonctionne déjà, mais il utilise le backend de recherche de produits demo que Google a déployé pour vous.
Ensuite, vous allez mettre à jour l'application pour qu'elle utilise le backend que vous avez créé plus tôt dans cet atelier de programmation.
6. Mettre à jour les points de terminaison de l'API
Modifier les configurations de l'API
Accédez à la classe ProductSearchAPIClient. Vous verrez que les configurations du backend de recherche de produits sont déjà définies. Commentez les configurations du backend de démonstration :
// Define the product search backend
// Option 1: Use the demo project that we have already deployed for you
// const val VISION_API_URL =
    "https://us-central1-odml-codelabs.cloudfunctions.net/productSearch"
// const val VISION_API_KEY = ""
// const val VISION_API_PROJECT_ID = "odml-codelabs"
// const val VISION_API_LOCATION_ID = "us-east1"
// const val VISION_API_PRODUCT_SET_ID = "product_set0"
Remplacez-les ensuite par votre configuration :
// Option 2: Go through the Vision API Product Search quickstart and deploy to your project.
// Fill in the const below with your project info.
const val VISION_API_URL = "https://vision.googleapis.com/v1"
const val VISION_API_KEY = "YOUR_API_KEY"
const val VISION_API_PROJECT_ID = "YOUR_PROJECT_ID"
const val VISION_API_LOCATION_ID = "YOUR_LOCATION_ID"
const val VISION_API_PRODUCT_SET_ID = "YOUR_PRODUCT_SET_ID"
- VISION_API_URL est le point de terminaison de l'API Cloud Vision.
- VISION_API_KEY est la clé API que vous avez créée précédemment dans cet atelier.
- VISION_API_PROJECT_ID, VISION_API_LOCATION_ID et VISION_API_PRODUCT_SET_ID correspondent aux valeurs que vous avez utilisées dans le démarrage rapide de la recherche de produits de l'API Vision plus tôt dans cet atelier de programmation.
Exécuter le code
Cliquez ensuite sur Run ( Exécuter)  dans la barre d'outils Android Studio. Une fois l'application chargée, appuyez sur l'une des images prédéfinies, sélectionnez un objet détecté, puis appuyez sur le bouton Rechercher pour afficher les résultats de recherche. L'application utilise désormais le backend de recherche de produits que vous venez de créer.
 dans la barre d'outils Android Studio. Une fois l'application chargée, appuyez sur l'une des images prédéfinies, sélectionnez un objet détecté, puis appuyez sur le bouton Rechercher pour afficher les résultats de recherche. L'application utilise désormais le backend de recherche de produits que vous venez de créer.

7. Félicitations !
Vous avez appris à créer un backend de recherche de produits à l'aide de la recherche de produits de l'API Vision.
Et voilà, vous avez tout ce qu'il vous faut pour le faire fonctionner !
Points abordés
- Créer un backend de recherche de produits à l'aide de votre catalogue de produits et de la recherche de produits de l'API Vision
- Configurer une clé API pour appeler le backend de recherche de produits à partir d'une application mobile
- Appeler le backend depuis une application mobile
Étapes suivantes
- Regardez cette vidéo sur l'utilisation de la recherche de produits de l'API Vision pour créer un dressing intelligent.
- Consultez le parcours de formation sur le ML sur l'appareil pour la recherche de produits afin de découvrir toutes les étapes nécessaires à la création d'une recherche de produits.
- Appliquer ce que vous avez appris à votre propre application