Ustawienie pustych obiektów wiadomości jako pól

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W interfejsie Google Ads API niektóre pola wiadomości są zdefiniowane jako puste obiekty wiadomości, takie jak campaign.manual_cpm, lub mogą zawierać tylko pola opcjonalne, które nie muszą być ustawione, na przykład campaign.manual_cpc. Ustawienie tych pól jest ważne, aby poinformować interfejs API, której strategii ustalania stawek użyć w danej kampanii, ale gdy informacje są puste, nie jest intuicyjne.

Gdy aktualizujesz pole campaign.name, które jest ciągiem, ustawiamy je bezpośrednio, tak jakby był normalnym atrybutem obiektu Pythona:

campaign.name = "Test campaign value"

campaign.manual_cpc to pole zagnieżdżone, co oznacza, że zawiera inną wiadomość protobuf, a nie typ podstawowy, taki jak ciąg znaków. Pola możesz też aktualizować bezpośrednio:

campaign.manual_cpc.enhanced_cpc_enabled = True

Informuje to interfejs API, że ta kampania ma strategię ustalania stawek manual_cpc z włączonym Ulepszonym CPC.

A co jeśli chcesz używać pliku manual_cpm, który jest pusty? A może manual_cpc bez włączania ulepszonego CPC? Aby to zrobić, musisz skopiować do kampanii osobną, pustą instancję klasy, na przykład:

client = GoogleAdsClient.load_from_storage()

empty_cpm = client.get_type('ManualCpm')
client.copy_from(campaign.manual_cpm, empty_cpm)

Zwróć uwagę na sposób, w jaki manual_cpm jest określony dla obiektu campaign:

name {
  value: "Test campaign value"
}
manual_cpm {
}

Pole manual_cpm jest ustawione, ale żadne z jego pól nie ma wartości. Wysyłając żądanie do interfejsu API korzystającego z tego wzorca, możesz sprawdzić, czy pusty obiekt wiadomości jest poprawnie skonfigurowany. W tym celu włącz rejestrowanie i sprawdź ładunek żądania.