Google Ads API에서 일부 메시지 필드는 빈 메시지 객체로 정의됩니다.
campaign.manual_cpm
,
또는 설정할 필요가 없는 선택 입력란만 포함할 수도 있습니다. 예를 들어
campaign.manual_cpc
설정
필드는 해당 필드에 사용할 입찰 전략을 API에 알려주는 데 중요합니다.
캠페인이지만 메시지가 비어 있으면 직관적이지 않습니다.
문자열인 campaign.name
필드를 업데이트할 때 필드를 설정합니다.
일반 Python 객체 속성인 것처럼 직접 업데이트하면 됩니다.
campaign.name = "Test campaign value"
campaign.manual_cpc
는 중첩 필드입니다. 즉,
원시 유형이 아닌 다른 protobuf 메시지를 반환합니다. 나
해당 필드를 직접 업데이트할 수도 있습니다.
campaign.manual_cpc.enhanced_cpc_enabled = True
이렇게 하면 API에 이 캠페인의 입찰 전략이 manual_cpc
이라고 알립니다.
캠페인을 최적화할 수 있습니다.
하지만 비어 있는 manual_cpm
를 사용하려면 어떻게 해야 할까요? 또는 manual_cpc
어떻게 해야 할까요? 이렇게 하려면
캠페인에 클래스의 빈 인스턴스를 추가합니다. 예를 들면 다음과 같습니다.
client = GoogleAdsClient.load_from_storage()
empty_cpm = client.get_type('ManualCpm')
client.copy_from(campaign.manual_cpm, empty_cpm)
campaign
객체에 manual_cpm
가 지정되는 방식에 유의하세요.
name {
value: "Test campaign value"
}
manual_cpm {
}
manual_cpm
필드가 설정되었지만 필드에 값이 있는 필드가 없습니다. 전송 시
API에 요청을 보내는 경우,
로깅을 사용하고
요청 페이로드가 있습니다.
마지막으로 이 필드를 요청 객체의
update_mask
필드 마스크 도우미에는
명시적으로 빈 객체로 설정된 필드와
필드를 확인하세요.
from google.api_core.protobuf_helpers import field_mask
campaign_operation.create = campaign
campaign_operation.update_mask = field_mask(None, campaign)
# Here we manually add the "manual_cpm" field
campaign_operation.update_mask.append("manual_cpm")