/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">The campaign ID.</param> public void Run(AdWordsUser user, long campaignId) { // Get the VideoTargetingGroupCriterionService. VideoTargetingGroupCriterionService videoTargetingGroupCriterionService = (VideoTargetingGroupCriterionService)user.GetService( AdWordsService.v201406.VideoTargetingGroupCriterionService); int offset = 0; TargetingGroupCriterionPage page = new TargetingGroupCriterionPage(); try { // Create selector. TargetingGroupCriterionSelector selector = new TargetingGroupCriterionSelector(); selector.criteriaDimension = CriteriaDimension.KEYWORD; selector.campaignIds = new long[] { campaignId }; selector.paging = new Paging(); do { selector.paging.startIndex = offset; selector.paging.numberResults = PAGE_SIZE; // Get all keywords. page = videoTargetingGroupCriterionService.get(selector); // Display keywords. if (page != null && page.entries != null) { int i = offset; foreach (TargetingGroupCriterion targetingGroupCriterion in page.entries) { String negative = (targetingGroupCriterion is NegativeTargetingGroupCriterion) ? " (negative)" : ""; BaseKeyword keyword = (BaseKeyword)targetingGroupCriterion.criterion; Console.WriteLine("{0}) Criterion {1} ID {2}, targeting group ID {3} and " + "text '{4}'\n", i, negative, keyword.id, targetingGroupCriterion.targetingGroupId, keyword.text); i++; } } offset += PAGE_SIZE; } while (offset < page.totalNumEntries); Console.WriteLine("Number of keywords found: {0}", page.totalNumEntries); } catch (Exception ex) { throw new System.ApplicationException("Failed to get keywords.", ex); } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">The campaign ID.</param> /// <param name="targetingGroupId">The targeting group ID.</param> public void Run(AdWordsUser user, long campaignId, long targetingGroupId) { // Get the VideoTargetingGroupCriterionService. VideoTargetingGroupCriterionService videoTargetingGroupCriterionService = (VideoTargetingGroupCriterionService)user.GetService( AdWordsService.v201402.VideoTargetingGroupCriterionService); // Create age criteria. TargetingGroupCriterion ageCriterion = new TargetingGroupCriterion(); ageCriterion.campaignId = campaignId; ageCriterion.targetingGroupId = targetingGroupId; AudienceAge age = new AudienceAge(); age.ageRange = AudienceAgeAgeRange.AGE_RANGE_18_24; ageCriterion.criterion = age; TargetingGroupCriterionOperation addAgeCriterionOperation = new TargetingGroupCriterionOperation(); addAgeCriterionOperation.operand = ageCriterion; addAgeCriterionOperation.@operator = Operator.ADD; // Create negative age criteria. NegativeTargetingGroupCriterion negativeAgeCriterion = new NegativeTargetingGroupCriterion(); negativeAgeCriterion.campaignId = campaignId; negativeAgeCriterion.targetingGroupId = targetingGroupId; AudienceAge negativeAge = new AudienceAge(); negativeAge.ageRange = AudienceAgeAgeRange.AGE_RANGE_65_UP; negativeAgeCriterion.criterion = negativeAge; TargetingGroupCriterionOperation addNegativeAgeCriterionOperation = new TargetingGroupCriterionOperation(); addNegativeAgeCriterionOperation.operand = negativeAgeCriterion; addNegativeAgeCriterionOperation.@operator = Operator.ADD; // Create gender criteria. TargetingGroupCriterion genderCriterion = new TargetingGroupCriterion(); AudienceGender gender = new AudienceGender(); gender.genderType = AudienceGenderGenderType.GENDER_MALE; genderCriterion.campaignId = campaignId; genderCriterion.targetingGroupId = targetingGroupId; genderCriterion.criterion = gender; TargetingGroupCriterionOperation addGenderCriterionOperation = new TargetingGroupCriterionOperation(); addGenderCriterionOperation.operand = genderCriterion; addGenderCriterionOperation.@operator = Operator.ADD; // Create topic criteria. // See https://developers.google.com/adwords/api/docs/appendix/verticals // for valid ids. TargetingGroupCriterion topicCriterion = new TargetingGroupCriterion(); Topic topic = new Topic(); // Autos & Vehicles > Vehicle Brands > Buick topic.verticalId = 1060L; topicCriterion.campaignId = campaignId; topicCriterion.targetingGroupId = targetingGroupId; topicCriterion.criterion = topic; TargetingGroupCriterionOperation addTopicCriterionOperation = new TargetingGroupCriterionOperation(); addTopicCriterionOperation.operand = topicCriterion; addTopicCriterionOperation.@operator = Operator.ADD; // Add audience interest criteria. // See https://developers.google.com/adwords/api/docs/appendix/verticals // for valid ids. TargetingGroupCriterion interestCriterion = new TargetingGroupCriterion(); AudienceInterest interest = new AudienceInterest(); // Computers & Electronics > Computer Hardware > Laptops & Notebooks > Tablet PCs interest.interestId = 1277L; interestCriterion.campaignId = campaignId; interestCriterion.targetingGroupId = targetingGroupId; interestCriterion.criterion = topic; TargetingGroupCriterionOperation addUserInterestCriteriaOperation = new TargetingGroupCriterionOperation(); addUserInterestCriteriaOperation.operand = interestCriterion; addUserInterestCriteriaOperation.@operator = Operator.ADD; try { TargetingGroupCriterionReturnValue retval = videoTargetingGroupCriterionService.mutate( new TargetingGroupCriterionOperation[] { addAgeCriterionOperation, addGenderCriterionOperation, addNegativeAgeCriterionOperation, addTopicCriterionOperation, addUserInterestCriteriaOperation }); if (retval != null && retval.value != null) { foreach (TargetingGroupCriterion newCriterion in retval.value) { Console.WriteLine("Added targeting group criteria with id = {0} and type = {1} " + "to campaign id {2}.", newCriterion.criterion.id, newCriterion.criterion.BaseCriterionType, newCriterion.campaignId); } } else { Console.WriteLine("No new targeting group criteria were added."); } } catch (Exception ex) { throw new System.ApplicationException("Failed to add targeting group criteria.", ex); } }