public void Run(AdWordsUser user, long campaignId, double bidModifier)
{
// Get the CampaignCriterionService.
CampaignCriterionService campaignCriterionService =
(CampaignCriterionService) user.GetService(
AdWordsService.v201306.CampaignCriterionService);
// Create mobile platform. The ID can be found in the documentation.
// https://developers.google.com/adwords/api/docs/appendix/platforms
Platform mobile = new Platform();
mobile.id = 30001;
// Create criterion with modified bid.
CampaignCriterion criterion = new CampaignCriterion();
criterion.campaignId = campaignId;
criterion.criterion = mobile;
criterion.bidModifier = bidModifier;
// Create SET operation.
CampaignCriterionOperation operation = new CampaignCriterionOperation();
operation.@operator = Operator.SET;
operation.operand = criterion;
try {
// Update campaign criteria.
CampaignCriterionReturnValue result = campaignCriterionService.mutate(
new CampaignCriterionOperation[] {operation});
// Display campaign criteria.
if (result.value != null) {
foreach (CampaignCriterion newCriterion in result.value) {
Console.WriteLine("Campaign criterion with campaign id '{0}', criterion id '{1}', " +
"and type '{2}' was modified with bid {3:F2}.", newCriterion.campaignId,
newCriterion.criterion.id, newCriterion.criterion.type, newCriterion.bidModifier);
}
} else {
Console.WriteLine("No campaign criteria were modified.");
}
} catch (Exception ex) {
throw new System.ApplicationException("Failed to set bid modifier for campaign.", ex);
}
}