Beispiel #1
0
        /// <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);
            }
        }