Best Practices

Auf dieser Seite werden verschiedene Best Practices beschrieben, die bei der Entwicklung von Anwendungen für die Google Ad Manager API berücksichtigt werden sollten.

Dienst-Clients/-Stubs während einer Ausführung wiederverwenden

Beim Erstellen eines neuen Dienst-Clients/-Stubs fallen Grenzkosten für das Abrufen der WSDL und das Zuweisen von Ressourcen an. Erstellen Sie den Dienstclient/-Stub nach Möglichkeit einmal zu Beginn der Ausführung und stellen Sie ihn den Klassen und Funktionen nach Bedarf zur Verfügung.

Paging beim Abrufen von Objekten verwenden

Alle Dienste unterstützen eine get*ByStatement()-Methode, die die Filterung von Ergebnissen mit der PQL-Syntax ermöglicht. Die Klauseln LIMIT und OFFSET können verwendet werden, um große Ergebnismengen auf Seiten aufzuteilen und so Zeitüberschreitungen zu vermeiden und die Größe der Antwortseiten angemessen zu halten. Je nach Komplexität der Objekte wird eine Seitengröße zwischen 200 und 500 vorgeschlagen.

Anfragen für Batch-Updates

Wenn Sie mehrere Objekte desselben Typs ändern, können Sie die Leistung steigern, indem Sie alle Objekte in derselben update*()-Anfrage senden. Auf dem Client und dem Server entsteht für jede Anfrage ein Grenzaufwand. Die Batchverarbeitung kann eine effektive Möglichkeit sein, die Anzahl der Anfragen zu reduzieren. Verwenden Sie beispielsweise updateOrders, um einen Batch von Orders anstatt einer einzelnen Bestellung bei jedem Aufruf zu aktualisieren.

Bind-Parameter in PQL verwenden

Bindungsparameter sind eine Möglichkeit, Variablen in eine PQL-Abfrageanweisung einzufügen. PQL bezieht sich auf eine Bindungsvariable mit einem Namen ohne Leerzeichen, die mit einem Doppelpunkt beginnen, z.B. :name. Ein Codebeispiel finden Sie auf der Seite PQL-Syntax.

Wir empfehlen die Verwendung von Bindvariablen, da sie die Lesbarkeit von Code verbessern, da Strings und Variablen nicht mehr zu einer Abfrageanweisung verkettet werden müssen. Sie erleichtern auch die Wiederverwendung von PQL-Anweisungen, da neue Abfragen durch Ersetzen der Bind-Parameterwerte ausgeführt werden können.

Berechtigungen nur selten erteilen

Wenn Sie Nutzerrollen mit UserService erstellen/aktualisieren, achten Sie darauf, Nutzern keine Berechtigungen zu gewähren, die sie nicht benötigen. Der Zugriff auf viele Funktionen der API ist über eine Kombination von Rollen möglich, anstatt dem Nutzer eine Administratorrolle zuzuweisen. Lesen Sie in der Dokumentation zu Berechtigungen nach, wenn Sie entscheiden, welche Rollen einem Nutzer zugewiesen werden sollen. Als Entwickler von Drittanbieter-Anwendungen sollten Sie außerdem festlegen, welche Zugriffsebene Ihre Anwendung benötigt, wenn sie ein Netzwerk bitten, einen Nutzer für Sie zu erstellen. Eine Rolle mit weniger Berechtigungen als Administrator kann ausreichen.

Unter Kontingentlimits bleiben

Die Ad Manager API unterliegt hinsichtlich der Stabilität verschiedene Kontingentlimits. Es ist wichtig, dass Ihre Anwendungen unter diesen Limits bleiben und Sie wissen, wie Sie auf Kontingentfehler reagieren können, die die API zurückgeben kann.

API-Kontingent

Das erste Kontingent, das auf API-Anfragen angewendet wird, ist ein Kontingent auf Netzwerkebene. Bei Ad Manager-Konten liegt das Limit bei acht Anfragen pro Sekunde und bei Ad Manager-Konten bei zwei Anfragen pro Sekunde. Das Überschreiten dieses Limits führt zum Fehler QuotaError.EXCEEDED_QUOTA. Alle API-Anfragen in Ihrem Netzwerk werden auf dieses Kontingent angerechnet, einschließlich Anwendungen von Drittanbietern, denen Sie oder ein anderer Nutzer in Ihrem Unternehmen API-Zugriff auf Ihr Netzwerk gewährt hat.

Systemspezifische Kontingente

Das API-Kontingent allein reicht nicht aus, um bestimmte ressourcenintensive Systeme in Ad Manager angemessen zu schützen. Die Berichts- und Prognosesysteme definieren ihre eigenen Kontingente, die zu API-Fehlern führen können: QuotaError.REPORT_JOB_LIMIT bzw. ForecastError.EXCEEDED_QUOTA.

Kontingentfehler verarbeiten

Sollte in Ihrer Anwendung einer der oben genannten Kontingentfehler auftreten, versuchen Sie, die API-Anfrage mithilfe einer Strategie noch einmal auszuführen. Wir empfehlen, zuerst mindestens 5 Sekunden zu warten. Wenn der Fehler weiterhin auftritt, verwenden Sie den exponentiellen Backoff, um die Zeit zwischen den Wiederholungen zu verlängern. Wenn der erneute Versuch fehlschlägt, sollten Sie Ihre API-Anwendungen prüfen, um festzustellen, ob Nutzer in Ihrem Netzwerk Ihr Kontingent bereits ausgeschöpft haben.