1. Antes de comenzar
Anteriormente, en la ruta de aprendizaje de búsqueda de imágenes de productos, aprendiste a llamar a un backend de búsqueda de productos creado con Product Search de la API de Vision para encontrar productos visualmente similares en un catálogo de productos.
En este codelab, aprenderás a compilar un backend similar, pero con tu catálogo de productos.
Qué aprenderás
- Cómo compilar un backend de búsqueda de productos con Product Search de la API de Vision
- Cómo configurar la clave de API para acceder a la API de Vision desde apps para dispositivos móviles
Requisitos
- Una cuenta de Google Cloud con la facturación habilitada (puede ser una cuenta de prueba gratuita)
2. Acerca de Product Search de la API de Vision
Product Search de la API de Vision es una función de Google Cloud que permite a los minoristas crear productos, cada uno con imágenes de referencia que describen de manera visual el producto desde un conjunto de puntos de vista. Los minoristas pueden agregar estos productos a los conjuntos de productos. En este momento, Product Search de la API de Vision admite las siguientes categorías de productos: artículos para el hogar, indumentaria, juguetes, productos envasados y general.
Cuando los usuarios consultan el conjunto de productos con sus propias imágenes, Product Search de la API de Vision aplica el aprendizaje automático para comparar el producto en la imagen de consulta del usuario con las imágenes del conjunto de productos del minorista y, luego, devuelve una lista de clasificaciones con resultados visuales y semánticos similares.
3. Compila el backend con Google Cloud
Anteriormente en la ruta de aprendizaje de búsqueda de imágenes de productos, usaste un backend de búsqueda de productos de demostración compilado con Product Search de la API de Vision. Sigue este instructivo para compilar el mismo backend en tu cuenta de Google Cloud:
Una vez que completes el instructivo, continúa con los siguientes pasos para configurar una clave de API y llamar al backend desde tus apps para dispositivos móviles.
4. Configura la clave de API
En la guía de inicio rápido de Product Search de la API de Vision, compilaste un backend de búsqueda de productos que puede tomar una imagen de consulta y devolver productos visualmente similares. Para llamar a la API de búsqueda de productos desde una app para dispositivos móviles, deberás configurar una clave de API y, luego, restringir el acceso de la clave de API a tus propias apps para dispositivos móviles para evitar el uso no autorizado.
Crea una clave de API
- Ve a Cloud Console > APIs & Services > Credentials. También puedes hacer clic en esta URL y seleccionar el proyecto que usaste en la guía de inicio rápido de la Búsqueda de productos.
- Selecciona Crear credenciales > Clave de API. Verás este diálogo si se creó correctamente tu clave de API:
Toma nota de esta clave de API. La usarás más adelante en este codelab.
Restringe el acceso a la clave de API
Cuando veas el mensaje anterior, selecciona Restringir clave.
Sigue las instrucciones en pantalla para aplicar estas restricciones:
- Restricciones de aplicaciones > Apps para Android
- Restricciones de la API > Restringir clave > API de Cloud Vision
5. Descarga y ejecuta la app para dispositivos móviles
Puedes descargar la app para Android que compilaste antes y que usaba el backend de búsqueda de productos de demostración, y cambiarla para que use el nuevo backend que acabas de compilar.
Descarga el código
Haz clic en el siguiente vínculo a fin de descargar todo el código de este codelab:
Descomprime el archivo zip descargado. Esto descomprimirá una carpeta raíz (odml-pathway-codelabs) con todos los recursos que necesitarás. Para este codelab, solo necesitarás las fuentes del subdirectorio product-search/codelab2/android/final.
La app usa la API de ML Kit Object Detection and Tracking y un backend de búsqueda de productos de demostración compilado con Product Search de la API de Vision para permitir que los usuarios tomen una foto y busquen productos visualmente similares en el catálogo de productos de demostración.
Importa la app a Android Studio
Comienza por importar la app de inicio a Android Studio.
Ve a Android Studio, selecciona Import Project (Gradle, Eclipse ADT, etc.) y elige la carpeta product-search/codelab2/android/final
del código fuente que descargaste antes.
Cómo ejecutar la app de inicio
Ahora que importaste el proyecto a Android Studio, puedes ejecutar la app por primera vez.
Conecta tu dispositivo Android a través de USB a tu host o inicia el emulador de Android Studio y haz clic en Run ( ) en la barra de herramientas de Android Studio.
(Si este botón está inhabilitado, asegúrate de importar solo final/app/build.gradle, no todo el repositorio)
Ahora, la app debería haberse iniciado en tu dispositivo Android. Ya está funcionando, pero usa el backend de búsqueda de productos de demostración que Google implementó para ti.
A continuación, actualizarás la app para que use el backend que compilaste anteriormente en este codelab.
6. Actualiza los extremos de la API
Cambia la configuración de la API
Ve a la clase ProductSearchAPIClient
y verás que ya se definieron las configuraciones del backend de la búsqueda de productos. Comenta los parámetros de configuración del backend de demostración:
// 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"
Luego, reemplázalos por tu configuración:
// 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 es el extremo de la API de Cloud Vision.
- VISION_API_KEY es la clave de API que creaste anteriormente en este codelab.
- VISION_API_PROJECT_ID, VISION_API_LOCATION_ID y VISION_API_PRODUCT_SET_ID son los valores que usaste en la guía de inicio rápido de la API de Vision para Product Search anteriormente en este codelab.
Ejecución
Ahora haz clic en Run ( ) en la barra de herramientas de Android Studio. Una vez que se cargue la app, presiona cualquier imagen predeterminada, selecciona un objeto detectado y presiona el botón Buscar para ver los resultados de la búsqueda. Ahora la app usa el backend de búsqueda de productos que acabas de crear.
7. ¡Felicitaciones!
Aprendiste a compilar un backend de búsqueda de productos con Product Search de la API de Vision.
¡Eso es todo lo que necesitas para que funcione!
Temas abordados
- Cómo crear un backend de búsqueda de productos con tu catálogo de productos y Product Search de la API de Vision
- Cómo configurar la clave de API para llamar al backend de búsqueda de productos desde una app para dispositivos móviles
- Cómo llamar al backend desde una app para dispositivos móviles
Próximos pasos
- Mira este video sobre cómo usar Product Search de la API de Vision para crear un armario inteligente
- Consulta la ruta de aprendizaje de AA integrado en el dispositivo de la Búsqueda de productos para conocer todos los pasos necesarios para crear una búsqueda de productos.
- Aplica lo que aprendiste en tu propia app