AdGroupCriterionServiceInterface adGroupCriterionService = new AdWordsServices().get(adWordsSession, AdGroupCriterionServiceInterface.class);
ProductPartitionTree partitionTree = ProductPartitionTree.createAdGroupTree(new AdWordsServices(), adWordsSession, request.getAdGroupId());
ProductPartitionNode rootNode = partitionTree.getRoot().asSubdivision();
rootNode.addChild(
ProductDimensions.createCanonicalCondition(ProductCanonicalConditionCondition.NEW)
).asBiddableUnit().setBid(100000L);
rootNode.addChild(
ProductDimensions.createCanonicalCondition(null)
).asSubdivision();
List<AdGroupCriterionOperation> mutateOperations = partitionTree.getMutateOperations();
if (mutateOperations.isEmpty()) {
System.out.println("Nothing to do");
} else {
adGroupCriterionService.mutate(
mutateOperations.toArray(
new AdGroupCriterionOperation[mutateOperations.size()]
)
);
}
[AdGroupCriterionError.PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE @ operations; trigger:'ProductPartition{id=TempCriterionId{id=1}, bidSimulatorStatus=null, partitionType=SUBDIVISION, parentCriterionId=null, productGroup=null, caseValue=null, decisionPath=[]}']