Ce guide présente quelques bonnes pratiques que vous pouvez mettre en œuvre pour optimiser l'efficacité et les performances de vos applications.
Gérer votre application
Pour vous assurer que votre application s'exécute sans interruption, procédez comme suit :
Assurez-vous que la liste des propriétaires et des éditeurs de votre projet Google Cloud est à jour. Nous contacterons ces utilisateurs en cas d'urgence ou pour des sujets liés au respect des conditions d'utilisation de l'API. Si nous ne parvenons pas à vous contacter au sujet du respect des conditions d'utilisation de l'API, votre accès à l'API pourra être réduit ou révoqué.
Pour être informé des problèmes tels que les modifications de produits, les temps d'arrêt pour maintenance et les dates d'abandon, abonnez-vous à notre blog sur l'API et à notre blog sur les produits.
Assurez-vous que votre application respecte les Conditions d'utilisation de l'API Google Ads. Si nécessaire, l'équipe chargée de la conformité des API contactera les propriétaires et les éditeurs de votre projet Google Cloud ayant accès à l'API. Si vous avez des questions ou des doutes concernant les conditions d'utilisation, vous pouvez contacter l'équipe chargée de la conformité en répondant à l'e-mail qu'elle vous a envoyé lors de l'examen de votre demande d'accès à l'API.
Optimisation
Vous pouvez optimiser votre application en exécutant des opérations par lot et, le cas échéant, en envoyant des objets creux.
Opérations par lot
L'envoi d'une requête à l'API entraîne un certain nombre de coûts fixes, tels que la latence du réseau aller-retour, le traitement de la sérialisation et de la désérialisation, et les appels aux systèmes de backend. Pour réduire l'impact de ces coûts fixes et améliorer les performances globales, la plupart des méthodes de modification de l'API sont conçues pour accepter un tableau d'opérations. En regroupant plusieurs opérations dans chaque requête, vous pouvez réduire le nombre de requêtes que vous effectuez et les coûts fixes associés. Si possible, évitez d'effectuer des requêtes ne comportant qu'une seule opération.
Par exemple, supposons que vous ajoutiez 50 000 mots clés à une campagne dans plusieurs groupes d'annonces. Au lieu d'effectuer 50 000 requêtes avec un mot clé chacune, effectuez 100 requêtes avec 500 mots clés chacune, voire 10 requêtes avec 5 000 mots clés chacune. Le nombre d'opérations autorisées dans une requête est limité. Vous devrez peut-être ajuster la taille de votre lot pour obtenir des performances optimales.
Envoyer des objets creux
Lorsque des objets sont envoyés à l'API, les champs doivent être désérialisés, validés et stockés dans la base de données. Transmettre des objets complets alors que vous ne souhaitez mettre à jour que quelques champs peut entraîner un temps de traitement supplémentaire et une baisse des performances. Pour limiter ce problème, l'API Google Ads accepte les mises à jour partielles, ce qui vous permet de ne renseigner que les champs d'un objet que vous devez modifier ou qui sont obligatoires.
Les mises à jour creuses sont traitées plus rapidement et sont moins susceptibles de produire des erreurs. Les champs qui ne figurent pas dans le update_mask (également appelé FieldMask) ne sont pas modifiés.
Par exemple, une application qui met à jour les enchères au niveau des mots clés peut bénéficier de l'utilisation de mises à jour partielles, car seuls les champs d'ID de groupe d'annonces, d'ID de critère et d'enchères doivent être renseignés.
Gestion des exceptions et des erreurs
Lors du développement, vous rencontrerez probablement des erreurs. Cette section décrit les considérations et les stratégies à prendre en compte pour intégrer la gestion des erreurs dans votre application. En plus de cette section, consultez le guide de dépannage pour en savoir plus sur la gestion des erreurs.
Distinguer les sources de requêtes
Certaines applications sont principalement interactives et émettent des appels d'API directement en réponse aux actions initiées par l'utilisateur dans une UI. D'autres fonctionnent principalement hors connexion, en émettant des appels d'API dans le cadre d'un processus de backend périodique. De nombreuses applications combinent les deux. Lorsque vous réfléchissez à la gestion des erreurs, il peut être utile de distinguer ces différents types de requêtes.
Pour les requêtes initiées par l'utilisateur, votre principale préoccupation doit être d'offrir une bonne expérience à vos utilisateurs. Utilisez l'erreur spécifique qui s'est produite pour fournir à l'utilisateur autant de contexte que possible dans l'interface utilisateur. Proposez des étapes claires pour résoudre l'erreur (voir les suggestions suivantes).
Pour les requêtes initiées sur le backend, implémentez des gestionnaires pour les différents types d'erreurs que votre application peut rencontrer. Incluez toujours un gestionnaire par défaut pour traiter les erreurs rares ou non rencontrées précédemment. Une bonne approche pour un gestionnaire par défaut consiste à ajouter l'opération ayant échoué et l'erreur à une file d'attente pour qu'un opérateur humain puisse les examiner et déterminer une résolution appropriée.
Distinguer les types d'erreurs
Il est essentiel de connaître les différences entre les types d'erreurs dans l'API Google Ads pour créer une gestion des erreurs robuste. Voici quelques-uns des types d'erreurs les plus courants :
- Erreurs d'authentification
- Erreurs pouvant faire l'objet d'une nouvelle tentative
- Erreurs de validation
- Erreurs liées à la synchronisation
Pour en savoir plus, consultez Types d'erreurs et Erreurs courantes.
Synchroniser les backends
Si les utilisateurs de votre application ont un accès manuel aux comptes Google Ads, ils peuvent apporter des modifications dont votre application n'est pas informée, ce qui entraîne la désynchronisation de la base de données locale de votre application. Comme indiqué dans notre guide sur les types d'erreurs, vous pouvez corriger les erreurs liées à la synchronisation de manière réactive lorsqu'elles se produisent, mais vous pouvez également essayer de les éviter de manière proactive. Une stratégie proactive consiste à exécuter une tâche de synchronisation périodique pour rapprocher votre base de données locale des objets Google Ads de vos comptes. Pour les hiérarchies de comptes volumineuses, évitez d'extraire tous les objets de chaque compte toutes les nuits afin de ne pas épuiser les quotas quotidiens. Interrogez plutôt ChangeStatus ou filtrez les entités récemment modifiées pour synchroniser les modifications de manière incrémentielle.
Erreurs du journal
Toutes les erreurs doivent être consignées pour faciliter le débogage et la surveillance. Au minimum, consignez l'ID de la requête, les opérations à l'origine de l'erreur et l'erreur elle-même. Les autres informations à consigner incluent l'ID client, le service d'API, la latence des requêtes aller-retour, le nombre de nouvelles tentatives, ainsi que la requête et la réponse brutes nettoyées (en veillant à masquer les identifiants sensibles tels que les jetons OAuth et les informations permettant d'identifier personnellement l'utilisateur).
Surveiller les tendances
Veillez à surveiller les tendances des erreurs d'API afin de pouvoir détecter et résoudre les problèmes liés à votre application. Envisagez de créer votre propre solution ou d'utiliser l'un des nombreux outils commerciaux disponibles qui peuvent utiliser vos journaux pour produire des tableaux de bord interactifs et envoyer des alertes automatisées.
Développement
Utilisez des comptes de test pendant le développement.
Utilisez des comptes de test
Les comptes de test sont des comptes Google Ads qui ne diffusent pas d'annonces. Vous pouvez utiliser un compte de test pour tester l'API Google Ads et vérifier que la connectivité de votre application, la logique de gestion des campagnes ou d'autres traitements fonctionnent comme prévu. Votre projet Google Cloud n'a besoin que d'un accès de test pour être utilisé sur un compte test. Vous pouvez donc commencer à développer immédiatement avec l'API Google Ads, en attendant que Google examine votre demande pour des niveaux d'accès à l'API plus élevés.