public void Run(AdWordsUser user, long campaignId)
{
// Get the AdGroupService.
AdGroupService adGroupService =
(AdGroupService) user.GetService(AdWordsService.v201306.AdGroupService);
List<AdGroupOperation> operations = new List<AdGroupOperation>();
for (int i = 0; i < NUM_ITEMS; i++) {
// Create the ad group.
AdGroup adGroup = new AdGroup();
adGroup.name = string.Format("Earth to Mars Cruises #{0}",
ExampleUtilities.GetRandomString());
adGroup.status = AdGroupStatus.ENABLED;
adGroup.campaignId = campaignId;
// Set the ad group bids.
BiddingStrategyConfiguration biddingConfig = new BiddingStrategyConfiguration();
CpmBid cpmBid = new CpmBid();
cpmBid.bid = new Money();
cpmBid.bid.microAmount = 10000000;
biddingConfig.bids = new Bids[] {cpmBid};
adGroup.biddingStrategyConfiguration = biddingConfig;
// Optional: Set targeting restrictions.
// These setting only affect serving for the Display Network.
TargetingSetting targetingSetting = new TargetingSetting();
TargetingSettingDetail placementDetail = new TargetingSettingDetail();
placementDetail.criterionTypeGroup = CriterionTypeGroup.PLACEMENT;
placementDetail.targetAll = true;
TargetingSettingDetail verticalDetail = new TargetingSettingDetail();
verticalDetail.criterionTypeGroup = CriterionTypeGroup.VERTICAL;
verticalDetail.targetAll = false;
targetingSetting.details = new TargetingSettingDetail[] {placementDetail, verticalDetail};
adGroup.settings = new Setting[] {targetingSetting};
// Create the operation.
AdGroupOperation operation = new AdGroupOperation();
operation.@operator = Operator.ADD;
operation.operand = adGroup;
operations.Add(operation);
}
try {
// Create the ad group.
AdGroupReturnValue retVal = adGroupService.mutate(operations.ToArray());
// Display the results.
if (retVal != null && retVal.value != null && retVal.value.Length > 0) {
foreach (AdGroup newAdGroup in retVal.value) {
Console.WriteLine("Ad group with id = '{0}' and name = '{1}' was created.",
newAdGroup.id, newAdGroup.name);
}
} else {
Console.WriteLine("No ad groups were created.");
}
} catch (Exception ex) {
throw new System.ApplicationException("Failed to create ad groups.", ex);
}
}