예제 #1
0
        public void GetAdGroups()
        {
            // Assert
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };
            var campaign = Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);

            AdGroupLo adGroupDtoLo = new AdGroupLo
            {
                CampaignId = campaign.value[0].id,
                Name       = DateTime.Now.ToString(),
                KeyWords   = "hej, med dig"
            };

            // Act
            var adGroup = AdGroupAdwords.CreateAdGroup(new AdWordsUser(), adGroupDtoLo);
            var result  = AdGroupAdwords.GetAdGroups(new AdWordsUser(), campaign.value[0].id);

            // Assert
            Assert.AreNotEqual(0, result.Count);
            Assert.AreEqual(adGroup.value[0].name, result.ElementAt(0).name);
        }
예제 #2
0
        public static Budget CreateBudget(AdWordsUser user, CampaignLo campaignDto)
        {
            using (BudgetService budgetService =
                       (BudgetService)user.GetService(AdWordsService.v201710.BudgetService))
            {
                // Create the campaign budget.
                Budget budget = new Budget();
                budget.isExplicitlyShared = false;
                budget.name               = campaignDto.Budget.Name;
                budget.deliveryMethod     = BudgetBudgetDeliveryMethod.STANDARD;
                budget.amount             = new Money();
                budget.amount.microAmount = campaignDto.Budget.MicroAmount;


                BudgetOperation budgetOperation = new BudgetOperation();
                budgetOperation.@operator = Operator.ADD;
                budgetOperation.operand   = budget;

                try
                {
                    BudgetReturnValue budgetRetval = budgetService.mutate(
                        new BudgetOperation[] { budgetOperation });
                    return(budgetRetval.value[0]);
                }
                catch (Exception e)
                {
                    throw new System.ApplicationException("Failed to add budget.", e);
                }
            }
        }
예제 #3
0
        public void GetCampaignsTest()
        {
            // Arrange
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };


            // Act
            var             campaign  = Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);
            List <Campaign> campaigns = Campaigns.GetCampaigns(new AdWordsUser(), true);

            Campaign[] camp = campaigns.Where(campa => campa.name == campaignDto.Name).ToArray();

            // Assert
            Assert.AreNotEqual(0, campaigns.Count);
            Assert.AreEqual(campaign.value[0].id, camp[0].id);
        }
예제 #4
0
        public void CreateCampaignTest()
        {
            // Arrange
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };

            // Act
            CampaignReturnValue campaign = Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);

            // Assert
            Assert.AreEqual(DateTime.Now.ToString("yyyyMMdd"), campaign.value[0].startDate);
            Assert.AreEqual(DateTime.Now.AddYears(1).ToString("yyyyMMdd"), campaign.value[0].endDate);
            Assert.AreEqual(1, (int)campaign.value[0].status);
            Assert.AreEqual(true, campaign.value[0].networkSetting.targetGoogleSearch);
            Assert.AreEqual(false, campaign.value[0].networkSetting.targetPartnerSearchNetwork);
        }
예제 #5
0
        public void AddKeyWordsToAdGroup()
        {
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };
            var campaign = Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);

            AdGroupLo adGroupDotLo = new AdGroupLo
            {
                CampaignId = campaign.value[0].id,
                Name       = DateTime.Now.ToString(),
                KeyWords   = "hej, med dig"
            };
            var addedAdGroup = AdGroupAdwords.CreateAdGroup(new AdWordsUser(), adGroupDotLo);

            // Act
            var result = AdWordsKeyword.AddKeyWordsToAdGroup(new AdWordsUser(), addedAdGroup.value[0].id, adGroupDotLo.KeyWords);

            // Assert
            Assert.AreEqual(2, result.value.Length);
        }
예제 #6
0
        public void CreateAdGroupTest()
        {
            // Assert
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };
            var campaign = Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);

            AdGroupLo adGroupDto = new AdGroupLo
            {
                CampaignId = campaign.value[0].id,
                Name       = DateTime.Now.ToString(),
                KeyWords   = "hej, med dig"
            };

            // Act
            var result = AdGroupAdwords.CreateAdGroup(new AdWordsUser(), adGroupDto);

            // Assert
            Assert.AreEqual(adGroupDto.CampaignId, result.value[0].campaignId);
            Assert.AreEqual(2, (int)result.value[0].status);
        }
예제 #7
0
        public void AddAds()
        {
            // Assert
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };
            var campaign = Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);

            AdGroupLo adGroupDto = new AdGroupLo
            {
                CampaignId = campaign.value[0].id,
                Name       = DateTime.Now.ToString(),
                KeyWords   = "hej, med dig"
            };
            var adGroup = AdGroupAdwords.CreateAdGroup(new AdWordsUser(), adGroupDto);

            AdWordsContentLo adsContent = new AdWordsContentLo
            {
                AdGroupLo = new AdGroupLo
                {
                    AdGroupId = adGroup.value[0].id,
                    Name      = adGroup.value[0].name
                },
                ContentProducts = new List <ProductItemLo>
                {
                    new ProductItemLo
                    {
                        AdContent = new AdContentLo
                        {
                            HeadLinePart1 = "Overskrift1",
                            HeadLinePart2 = "Overskrift2",
                            Description   = "Beksrivelse"
                        },
                        FinalUrl = new string[] { "http://nolleren.org/test" }
                    }
                }
            };

            // Act
            var result = ExpandedTextAds.CreateTextAds(new AdWordsUser(), adsContent);

            // Assert
            Assert.AreEqual(adGroup.value[0].id, result.value[0].adGroupId);
            Assert.AreNotEqual(0, result.value.Length);
        }
예제 #8
0
        public void SetCampaignStatusTest()
        {
            // Arrange
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };

            // Act
            var campaign = Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);
            var result   = Campaigns.SetCampaignStatus(new AdWordsUser(), campaign.value[0].id, CampaignStatus.REMOVED);

            // Assert
            Assert.AreEqual(3, (int)result.value[0].status);
        }
예제 #9
0
        public void CreateBudgetTest()
        {
            // Arrange
            CampaignLo campaignDto = new CampaignLo
            {
                Name      = DateTime.Now.ToString(),
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Budget    = new BudgetLo
                {
                    Name        = DateTime.Now.ToString(),
                    MicroAmount = 5000000
                }
            };

            // Act
            Budget budget = Budgets.CreateBudget(new AdWordsUser(), campaignDto);

            // Assert
            Assert.AreEqual(5000000, budget.amount.microAmount);
            Assert.AreEqual(false, budget.isExplicitlyShared);
            Assert.AreEqual(0, (int)budget.deliveryMethod);
        }
        public IHttpActionResult CreateCampaign([FromBody] CampaignLo campaignDto)
        {
            CampaignReturnValue camp = Adwords.Campaigns.CreateCampaign(new AdWordsUser(), campaignDto);

            return(Ok(camp));
        }
예제 #11
0
        public static CampaignReturnValue CreateCampaign(AdWordsUser user, CampaignLo campaignDto)
        {
            using (CampaignService campaignService =
                       (CampaignService)user.GetService(AdWordsService.v201710.CampaignService))
            {
                CampaignReturnValue camp = new CampaignReturnValue();

                Budget budget = Budgets.CreateBudget(user, campaignDto);

                List <CampaignOperation> operations = new List <CampaignOperation>();


                // Create the campaign.
                Campaign campaign = new Campaign();
                campaign.name = campaignDto.Name;
                campaign.advertisingChannelType = AdvertisingChannelType.SEARCH;

                // Recommendation: Set the campaign to PAUSED when creating it to prevent
                // the ads from immediately serving. Set to ENABLED once you've added
                // targeting and the ads are ready to serve.
                campaign.status = CampaignStatus.ENABLED;

                BiddingStrategyConfiguration biddingConfig = new BiddingStrategyConfiguration();
                biddingConfig.biddingStrategyType     = BiddingStrategyType.MANUAL_CPC;
                campaign.biddingStrategyConfiguration = biddingConfig;

                campaign.budget          = new Budget();
                campaign.budget.budgetId = budget.budgetId;

                // Set the campaign network options.
                campaign.networkSetting = new NetworkSetting();
                campaign.networkSetting.targetGoogleSearch         = true;
                campaign.networkSetting.targetSearchNetwork        = true;
                campaign.networkSetting.targetContentNetwork       = false;
                campaign.networkSetting.targetPartnerSearchNetwork = false;

                // Set the campaign settings for Advanced location options.
                GeoTargetTypeSetting geoSetting = new GeoTargetTypeSetting();
                geoSetting.positiveGeoTargetType = GeoTargetTypeSettingPositiveGeoTargetType.DONT_CARE;
                geoSetting.negativeGeoTargetType = GeoTargetTypeSettingNegativeGeoTargetType.DONT_CARE;

                campaign.settings = new Setting[] { geoSetting };

                // Optional: Set the start date.
                if (Debugger.IsAttached)
                {
                    campaignDto.StartDate = campaignDto.StartDate.AddHours(6);
                }
                campaign.startDate = campaignDto.StartDate.ToString("yyyyMMdd");

                // Optional: Set the end date.
                if (Debugger.IsAttached)
                {
                    campaignDto.EndDate = campaignDto.EndDate.AddHours(6);
                }
                campaign.endDate = campaignDto.EndDate.ToString("yyyyMMdd");

                // Optional: Set the frequency cap.
                FrequencyCap frequencyCap = new FrequencyCap();
                frequencyCap.impressions = 5;
                frequencyCap.level       = Level.ADGROUP;
                frequencyCap.timeUnit    = TimeUnit.DAY;
                campaign.frequencyCap    = frequencyCap;

                // Create the operation.
                CampaignOperation operation = new CampaignOperation();
                operation.@operator = Operator.ADD;
                operation.operand   = campaign;

                operations.Add(operation);

                try
                {
                    // Add the campaign.
                    camp = campaignService.mutate(operations.ToArray());
                }
                catch (Exception e)
                {
                    throw new System.ApplicationException("Failed to add campaigns.", e);
                }
                return(camp);
            }
        }