|
||||||
The issue here is actually an API issue, and stems from the fact that the use_audience_grouped
field does not have the optional
keyword. As a result, when processing an operation on our side, we cannot tell the difference between:
a) The use_audience_grouped
field was explicitly set to false
.
and
b) The use_audience_grouped
field was not explicitly set by you.
If the field was marked optional
, then we could differentiate between a) and b) via the hasUseAudienceGrouped()
method. In fact, you can see this "in action" by comparing the AudienceSettingOrBuilder
in Campaign.java
, where hasUseAudienceGrouped()
exists, to the same type in AdGroup.java
, where hasUseAudienceGrouped()
does not exist. The reason for this is that the Campaign
proto declares the field as:
optional bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE];
while the AdGroup
proto declares it as:
bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE];
What should happen in this case is that the API should treat a) and b) the same, which ultimately means that the default value should be false
. I have filed a bug on this to fix the ad group case.
I'll follow up here once I have an update on the bug.
Thanks,
|
||||||
![]() |
|