En esta guía, se describen algunas prácticas recomendadas que puedes implementar para optimizar la eficiencia y el rendimiento de tus apps.
Mantén tu app
Para asegurarte de que tu app se ejecute sin interrupciones, haz lo siguiente:
Asegúrate de que la lista de propietarios y editores de tu proyecto de Google Cloud esté actualizada. Nos comunicaremos con estos usuarios en caso de que se produzca alguna emergencia o surjan temas relacionados con el cumplimiento de los Términos y Condiciones de la API. Si no podemos comunicarnos contigo en relación con el cumplimiento de los Términos y Condiciones de la API, es posible que se reduzca o revoque tu acceso a la API.
Para recibir información sobre problemas, como cambios en los productos, tiempo de inactividad por mantenimiento y fechas de baja, suscríbete a nuestro blog de la API y al blog del producto.
Asegúrate de que tu app satisfaga los Términos y Condiciones (TyC) de la API de Google Ads. Si es necesario, el equipo de cumplimiento de la API se comunicará con los propietarios y editores de tu proyecto de Google Cloud con acceso a la API. Si tienes preguntas o inquietudes sobre los T&C, puedes comunicarte con el equipo de cumplimiento respondiendo el correo electrónico que te enviaron cuando revisaron tu solicitud de acceso a la API.
Optimización
Puedes optimizar tu app ejecutando operaciones por lotes y, si corresponde, enviando objetos dispersos.
Operaciones por lotes
Realizar una solicitud a la API implica una serie de costos fijos, como la latencia de red de ida y vuelta, el procesamiento de serialización y deserialización, y las llamadas a los sistemas de backend. Para disminuir el impacto de estos costos fijos y aumentar el rendimiento general, la mayoría de los métodos de mutación de la API están diseñados para aceptar un array de operaciones. Si agrupas varias operaciones en cada solicitud, puedes reducir la cantidad de solicitudes que realizas y los costos fijos asociados. Si es posible, evita realizar solicitudes con una sola operación.
Por ejemplo, supongamos que agregas 50,000 palabras clave a una campaña en varios grupos de anuncios. En lugar de realizar 50,000 solicitudes con 1 palabra clave cada una, realiza 100 solicitudes con 500 palabras clave cada una o incluso 10 solicitudes con 5,000 palabras clave cada una. Existen límites en la cantidad de operaciones permitidas en una solicitud, por lo que es posible que debas ajustar el tamaño del lote para lograr un rendimiento óptimo.
Envía objetos dispersos
Cuando se envían objetos a la API, los campos se deben deserializar, validar y
almacenar en la base de datos. Pasar objetos completos cuando solo quieres actualizar algunos campos puede generar un tiempo de procesamiento adicional y un rendimiento reducido. Para mitigar este problema, la API de Google Ads admite actualizaciones dispersas, lo que te permite propagar solo los campos de un objeto que necesitas cambiar o que son obligatorios.
Las actualizaciones dispersas se procesan más rápido y tienen menos probabilidades de producir errores. Los campos que
no están en update_mask (también conocido como FieldMask) no se modifican.
Por ejemplo, una app que actualiza las ofertas a nivel de la palabra clave puede beneficiarse del uso de actualizaciones dispersas, ya que solo se deben completar los campos de ID del grupo de anuncios, ID del criterio y ofertas.
Manejo y administración de errores
Durante el desarrollo, es probable que encuentres errores. En esta sección, se describen las consideraciones y estrategias para incorporar la administración de errores en tu app. Además de esta sección, visita la guía de solución de problemas para obtener más información sobre la administración de errores.
Distingue las fuentes de las solicitudes
Algunas apps son principalmente interactivas y emiten llamadas a la API directamente en respuesta a las acciones que inicia el usuario en una IU. Otros funcionan principalmente sin conexión y emiten llamadas a la API como parte de un proceso de backend periódico. Muchas apps combinan ambos tipos. Cuando pienses en la administración de errores, puede ser útil distinguir estos diferentes tipos de solicitudes.
En el caso de las solicitudes iniciadas por el usuario, tu principal preocupación debe ser brindar una buena experiencia a los usuarios. Usa el error específico que se produjo para proporcionar al usuario la mayor cantidad de contexto posible en la IU. Ofrece pasos claros que puedan seguir para resolver el error (consulta las siguientes sugerencias).
En el caso de las solicitudes que se inician en el backend, implementa controladores para los diferentes tipos de errores que pueda encontrar tu app. Incluye siempre un controlador predeterminado para abordar errores poco frecuentes o que no se hayan detectado antes. Un buen enfoque para un controlador predeterminado es agregar la operación con errores y el error a una cola para que un operador humano los revise y determine una resolución adecuada.
Distinguir los tipos de errores
Conocer las diferencias entre los tipos de errores en la API de Google Ads es fundamental para crear un manejo de errores sólido. Estos son algunos de los tipos de errores más comunes:
- Errores de autenticación
- Errores que se pueden volver a intentar
- Errores de validación
- Errores relacionados con la sincronización
Consulta los Tipos de errores y los Errores comunes para obtener más detalles.
Sincroniza backends
Si los usuarios de tu app tienen acceso manual a las cuentas de Google Ads, es posible que realicen cambios que tu app no conozca, lo que provocará que la base de datos local de tu app se desincronice. Como se indica en nuestra guía de tipos de errores, puedes abordar
los errores relacionados con la sincronización de forma reactiva cuando se producen, pero también puedes intentar prevenirlos
de forma proactiva. Una estrategia proactiva es ejecutar un trabajo de sincronización periódico para conciliar tu base de datos local con los objetos de Google Ads en tus cuentas. En el caso de las jerarquías de cuentas grandes, evita extraer todos los objetos de cada cuenta todas las noches para no agotar las cuotas diarias. En su lugar, consulta ChangeStatus o filtra las entidades modificadas recientemente para sincronizar los cambios de forma incremental.
Errores de registro
Todos los errores deben registrarse para facilitar la depuración y la supervisión. Como mínimo, registra el ID de la solicitud, las operaciones que causaron el error y el error en sí. Otra información que se debe registrar incluye el ID del cliente, el servicio de la API, la latencia de la solicitud de ida y vuelta, la cantidad de reintentos y la solicitud y respuesta sin procesar limpias (asegúrate de ocultar las credenciales sensibles, como los tokens de OAuth y cualquier PII).
Supervisa las tendencias
Asegúrate de supervisar las tendencias de los errores de la API para poder detectar y abordar los problemas de tu app. Considera crear tu propia solución o emplear una de las muchas herramientas comerciales disponibles que pueden usar tus registros para producir paneles interactivos y enviar alertas automatizadas.
Desarrollo
Usa cuentas de prueba durante el desarrollo.
Usa cuentas de prueba.
Las cuentas de prueba son cuentas de Google Ads que, en realidad, no publican anuncios. Puedes usar una cuenta de prueba para experimentar con la API de Google Ads y verificar que la conectividad de tu app, la lógica de administración de campañas o cualquier otro procesamiento funcionen según lo previsto. Tu proyecto de Google Cloud solo necesita acceso de prueba para usarse en una cuenta de prueba, por lo que puedes comenzar a desarrollar con la API de Google Ads de inmediato, mientras esperas que Google revise tu solicitud para obtener niveles de acceso a la API más altos.