En esta página, se describen varias prácticas recomendadas que deben considerarse a la hora de desarrollar aplicaciones para la API de Google Ad Manager.
- Reutiliza los clientes o stubs de servicio durante el transcurso de una ejecución
- Usa la paginación para recuperar objetos
- Solicitudes de actualización por lotes
- Almacenar el objeto de cliente de la API de Ad Manager cuando corresponda
- Usa parámetros de vinculación en PQL
- Otorga privilegios de usuario con moderación
Reutiliza los clientes o stubs de servicio durante el transcurso de una ejecución
Crear un cliente/stub de servicio nuevo tiene un costo marginal asociado con la recuperación del WSDL y la asignación de recursos. Si es posible, crea el cliente o stub del servicio una vez al comienzo de una ejecución y haz que esté disponible para las clases y funciones según sea necesario.
Usa la paginación cuando se recuperan objetos
Todos los servicios admiten un método get*ByStatement()
, que permite filtrar resultados con la sintaxis PQL. Las cláusulas LIMIT
y OFFSET
se pueden usar para dividir grandes conjuntos de resultados en páginas, lo que evita que se agote el tiempo de espera y mantiene los tamaños de las páginas de respuesta razonables. El tamaño de página sugerido es de 200 a 500, según la complejidad de tus objetos.
Solicitudes de actualización por lotes
Si cambias varios objetos del mismo tipo, puedes obtener un mejor rendimiento si envías todos los objetos en la misma solicitud update*()
. Existe una sobrecarga marginal para el cliente y el servidor por cada solicitud, y el procesamiento por lotes puede ser un medio eficaz para reducir la cantidad de solicitudes. Por ejemplo, usa updateOrders
para actualizar un lote de Pedidos en lugar de un solo pedido en cada llamada.
Usa parámetros de vinculación en PQL
Los parámetros de vinculación son una forma de colocar variables en una declaración de consulta de PQL. PQL se refiere a una variable de vinculación por un nombre sin espacios que comienza con dos puntos, p.ej., :name
. Puedes encontrar un ejemplo de código en la página de sintaxis de PQL.
Recomendamos usar variables de vinculación porque mejoran la legibilidad del código, ya que eliminan la necesidad de concatenar strings y variables en una declaración de consulta. También facilitan la reutilización de las declaraciones de PQL, ya que se pueden realizar consultas nuevas mediante la sustitución de los valores de los parámetros de vinculación.
Otorga privilegios de usuario con moderación
Cuando uses UserService para crear o actualizar funciones de usuario, ten cuidado de no otorgar a los usuarios los privilegios que no necesitan. Se puede acceder a muchas funciones de la API con una combinación de funciones en lugar de asignarle al usuario una función de administrador. Consulta la documentación sobre permisos cuando decidas qué roles asignarle a un usuario. Además, como tercero desarrollador de aplicaciones, asegúrate de determinar el nivel de acceso que necesita tu aplicación cuando le pidas a una red que cree un usuario por ti, ya que una función con menos privilegios que la de administrador puede ser suficiente.
Mantente por debajo de los límites de la cuota
La API de Ad Manager aplica varios límites de cuota para garantizar la solidez. Es importante mantener tus aplicaciones por debajo de estos límites y que sepas cómo responder a cualquiera de los errores de cuota que puede mostrar la API.
Cuota de API
La primera cuota que se aplica a las solicitudes a la API es una cuota a nivel de la red. Para las cuentas de Ad Manager 360, el límite es de 8 solicitudes por segundo, y para las cuentas de Ad Manager, el límite es de 2 solicitudes por segundo. Si superas este límite, se mostrará un error
QuotaError.EXCEEDED_QUOTA
. Todas las solicitudes a la API realizadas en tu red se aplican a esta cuota, incluidas las aplicaciones de terceros a las que tú o alguien de tu empresa les otorgó acceso a la API para tu red.
Cuotas específicas del sistema
La cuota de la API por sí sola no es suficiente para proteger de forma adecuada ciertos sistemas que requieren muchos recursos dentro de Ad Manager. Los sistemas de informes y previsión definen sus propias cuotas que pueden generar errores de API:
QuotaError.REPORT_JOB_LIMIT
y
ForecastError.EXCEEDED_QUOTA
, respectivamente.
Maneja los errores de cuota
Si tu aplicación encuentra alguno de los errores de cuota anteriores, lleva a cabo una estrategia para reintentar la solicitud a la API. Te recomendamos que esperes al menos 5 segundos primero y, si sigues recibiendo el error, usa la retirada exponencial para aumentar el tiempo entre reintentos. Si reintentarlo no tiene éxito, realiza una auditoría de tus aplicaciones de API para ver si algún usuario de la red está agotando tu cuota.