/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">Id of the campaign to be updated.</param> public void Run(AdWordsUser user, long campaignId) { // Get the CampaignService. CampaignService campaignService = (CampaignService)user.GetService(AdWordsService.v201502.CampaignService); // Create the campaign. Campaign campaign = new Campaign(); campaign.id = campaignId; campaign.status = CampaignStatus.PAUSED; // Create the operation. CampaignOperation operation = new CampaignOperation(); operation.@operator = Operator.SET; operation.operand = campaign; try { // Update the campaign. CampaignReturnValue retVal = campaignService.mutate((new CampaignOperation[] {operation})); // Display the results. if (retVal != null && retVal.value != null && retVal.value.Length > 0) { Campaign updatedCampaign = retVal.value[0]; Console.WriteLine("Campaign with name = '{0}' and id = '{1}' was updated.", updatedCampaign.name, updatedCampaign.id); } else { Console.WriteLine("No campaigns were updated."); } } catch (Exception ex) { throw new System.ApplicationException("Failed to update campaign.", ex); } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">Id of the campaign to be removed.</param> public void Run(AdWordsUser user, long campaignId) { // Get the CampaignService. CampaignService campaignService = (CampaignService) user.GetService( AdWordsService.v201502.CampaignService); // Create campaign with REMOVED status. Campaign campaign = new Campaign(); campaign.id = campaignId; campaign.status = CampaignStatus.REMOVED; // Create the operation. CampaignOperation operation = new CampaignOperation(); operation.operand = campaign; operation.@operator = Operator.SET; try { // Remove the campaign. CampaignReturnValue retVal = campaignService.mutate(new CampaignOperation[] {operation}); // Display the results. if (retVal != null && retVal.value != null && retVal.value.Length > 0) { Campaign removedCampaign = retVal.value[0]; Console.WriteLine("Campaign with id = \"{0}\" was renamed to \"{1}\" and removed.", removedCampaign.id, removedCampaign.name); } else { Console.WriteLine("No campaigns were removed."); } } catch (Exception e) { throw new System.ApplicationException("Failed to remove campaign.", e); } }
public void TestGetAllCampaignsMockAndCallServer() { ServiceSignature mockSignature = MockUtilities.RegisterMockService(user, AdWordsService.v201502.CampaignService, typeof(MockCampaignServiceEx)); CampaignService campaignService = (CampaignService) user.GetService(mockSignature); Assert.That(campaignService is MockCampaignServiceEx); Campaign campaign = new Campaign(); campaign.name = "Interplanetary Cruise #" + new TestUtils().GetTimeStamp(); campaign.status = CampaignStatus.PAUSED; campaign.biddingStrategyConfiguration = new BiddingStrategyConfiguration(); campaign.biddingStrategyConfiguration.biddingStrategyType = BiddingStrategyType.MANUAL_CPC; Budget budget = new Budget(); budget.budgetId = budgetId; campaign.budget = budget; campaign.advertisingChannelType = AdvertisingChannelType.SEARCH; // Set the campaign network options to GoogleSearch and SearchNetwork // only. Set ContentNetwork, PartnerSearchNetwork and ContentContextual // to false. campaign.networkSetting = new NetworkSetting() { targetGoogleSearch = true, targetSearchNetwork = true, targetContentNetwork = false, targetPartnerSearchNetwork = false }; // Create operations. CampaignOperation operation = new CampaignOperation(); operation.@operator = Operator.ADD; operation.operand = campaign; CampaignReturnValue retVal = null; Assert.DoesNotThrow(delegate() { retVal = campaignService.mutate((new CampaignOperation[] { operation })); }); Assert.NotNull(retVal); Assert.NotNull(retVal.value); Assert.AreEqual(retVal.value.Length, 1); Assert.AreEqual(retVal.value[0].name, campaign.name); Assert.AreNotEqual(retVal.value[0].id, 0); Assert.True((campaignService as MockCampaignServiceEx).MutateCalled); }
/// <summary> /// Creates the campaign with a shared bidding strategy. /// </summary> /// <param name="campaignService">The campaign service.</param> /// <param name="name">The campaign name.</param> /// <param name="biddingStrategyId">The bidding strategy id.</param> /// <param name="sharedBudgetId">The shared budget id.</param> /// <returns>The campaign object.</returns> private Campaign CreateCampaignWithBiddingStrategy(CampaignService campaignService, string name, long biddingStrategyId, long sharedBudgetId) { // Create campaign. Campaign campaign = new Campaign(); campaign.name = name; campaign.advertisingChannelType = AdvertisingChannelType.SEARCH; // Set the budget. campaign.budget = new Budget(); campaign.budget.budgetId = sharedBudgetId; // Set bidding strategy (required). BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration(); biddingStrategyConfiguration.biddingStrategyId = biddingStrategyId; campaign.biddingStrategyConfiguration = biddingStrategyConfiguration; // Set network targeting (recommended). NetworkSetting networkSetting = new NetworkSetting(); networkSetting.targetGoogleSearch = true; networkSetting.targetSearchNetwork = true; networkSetting.targetContentNetwork = true; campaign.networkSetting = networkSetting; // Create operation. CampaignOperation operation = new CampaignOperation(); operation.operand = campaign; operation.@operator = Operator.ADD; return campaignService.mutate(new CampaignOperation[] {operation}).value[0]; }
/// <summary> /// Creates the shopping campaign. /// </summary> /// <param name="budgetId">The budget id.</param> /// <param name="merchantId">The Merchant Center id.</param> /// <param name="campaignService">The CampaignService instance.</param> /// <returns>The Shopping campaign.</returns> private static Campaign CreateCampaign(long budgetId, long merchantId, CampaignService campaignService) { // Create campaign. Campaign campaign = new Campaign(); campaign.name = "Shopping campaign #" + ExampleUtilities.GetRandomString(); // The advertisingChannelType is what makes this a Shopping campaign. campaign.advertisingChannelType = AdvertisingChannelType.SHOPPING; // Set shared budget (required). campaign.budget = new Budget(); campaign.budget.budgetId = budgetId; // Set bidding strategy (required). BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration(); biddingStrategyConfiguration.biddingStrategyType = BiddingStrategyType.MANUAL_CPC; campaign.biddingStrategyConfiguration = biddingStrategyConfiguration; // All Shopping campaigns need a ShoppingSetting. ShoppingSetting shoppingSetting = new ShoppingSetting(); shoppingSetting.salesCountry = "US"; shoppingSetting.campaignPriority = 0; shoppingSetting.merchantId = merchantId; // Set to "true" to enable Local Inventory Ads in your campaign. shoppingSetting.enableLocal = true; campaign.settings = new Setting[] { shoppingSetting }; // Create operation. CampaignOperation campaignOperation = new CampaignOperation(); campaignOperation.operand = campaign; campaignOperation.@operator = Operator.ADD; // Make the mutate request. CampaignReturnValue retval = campaignService.mutate( new CampaignOperation[] { campaignOperation }); return retval.value[0]; }
/// <summary> /// Creates the ad group in a Shopping campaign. /// </summary> /// <param name="adGroupService">The AdGroupService instance.</param> /// <param name="campaign">The Shopping campaign.</param> /// <returns>The ad group.</returns> private static AdGroup CreateAdGroup(AdGroupService adGroupService, Campaign campaign) { // Create ad group. AdGroup adGroup = new AdGroup(); adGroup.campaignId = campaign.id; adGroup.name = "Ad Group #" + ExampleUtilities.GetRandomString(); // Create operation. AdGroupOperation operation = new AdGroupOperation(); operation.operand = adGroup; operation.@operator = Operator.ADD; // Make the mutate request. AdGroupReturnValue retval = adGroupService.mutate(new AdGroupOperation[] { operation }); return retval.value[0]; }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> public void Run(AdWordsUser user) { // Get the CampaignService. BudgetService budgetService = (BudgetService) user.GetService(AdWordsService.v201502.BudgetService); // Get the CampaignService. CampaignService campaignService = (CampaignService) user.GetService(AdWordsService.v201502.CampaignService); // Create the campaign budget. Budget budget = new Budget(); budget.name = "Interplanetary Cruise Budget #" + ExampleUtilities.GetRandomString(); budget.period = BudgetBudgetPeriod.DAILY; budget.deliveryMethod = BudgetBudgetDeliveryMethod.STANDARD; budget.amount = new Money(); budget.amount.microAmount = 500000; BudgetOperation budgetOperation = new BudgetOperation(); budgetOperation.@operator = Operator.ADD; budgetOperation.operand = budget; try { BudgetReturnValue budgetRetval = budgetService.mutate(new BudgetOperation[] {budgetOperation}); budget = budgetRetval.value[0]; } catch (Exception e) { throw new System.ApplicationException("Failed to add shared budget.", e); } List<CampaignOperation> operations = new List<CampaignOperation>(); for (int i = 0; i < NUM_ITEMS; i++) { // Create the campaign. Campaign campaign = new Campaign(); campaign.name = "Interplanetary Cruise #" + ExampleUtilities.GetRandomString(); campaign.status = CampaignStatus.PAUSED; campaign.advertisingChannelType = AdvertisingChannelType.SEARCH; BiddingStrategyConfiguration biddingConfig = new BiddingStrategyConfiguration(); biddingConfig.biddingStrategyType = BiddingStrategyType.MANUAL_CPM; // Optional: also provide matching bidding scheme. biddingConfig.biddingScheme = new ManualCpmBiddingScheme(); campaign.biddingStrategyConfiguration = biddingConfig; // Set the campaign budget. campaign.budget = new Budget(); campaign.budget.budgetId = budget.budgetId; // Set targetContentNetwork true. Other network targeting is not available // for Ad Exchange Buyers. campaign.networkSetting = new NetworkSetting(); campaign.networkSetting.targetGoogleSearch = false; campaign.networkSetting.targetSearchNetwork = false; campaign.networkSetting.targetContentNetwork = true; campaign.networkSetting.targetPartnerSearchNetwork = false; // Enable campaign for Real-time bidding. RealTimeBiddingSetting rtbSetting = new RealTimeBiddingSetting(); rtbSetting.optIn = true; campaign.settings = new Setting[] {rtbSetting}; // Optional: Set the start date. campaign.startDate = DateTime.Now.AddDays(1).ToString("yyyyMMdd"); // Optional: Set the end date. campaign.endDate = DateTime.Now.AddYears(1).ToString("yyyyMMdd"); // Optional: Set the campaign ad serving optimization status. campaign.adServingOptimizationStatus = AdServingOptimizationStatus.ROTATE; // 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. CampaignReturnValue retVal = campaignService.mutate(operations.ToArray()); // Display the results. if (retVal != null && retVal.value != null && retVal.value.Length > 0) { foreach (Campaign newCampaign in retVal.value) { Console.WriteLine("Campaign with name = '{0}' and id = '{1}' was added.", newCampaign.name, newCampaign.id); } } else { Console.WriteLine("No campaigns were added."); } } catch (Exception e) { throw new System.ApplicationException("Failed to add campaigns.", e); } }
/// <summary> /// Creates a test campaign for running further tests. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="channelType">The advertising channel type for this /// campaign.</param> /// <param param name="strategyType">The bidding strategy to be used for /// this campaign.</param> /// <param name="isMobile">True, if this campaign is mobile-only, false /// otherwise.</param> /// <returns>The campaign id.</returns> public long CreateCampaign(AdWordsUser user, AdvertisingChannelType channelType, BiddingStrategyType strategyType, bool isMobile) { CampaignService campaignService = (CampaignService) user.GetService(AdWordsService.v201502.CampaignService); Campaign campaign = new Campaign() { name = string.Format("Campaign {0}", DateTime.Now.ToString("yyyy-M-d H:m:s.ffffff")), advertisingChannelType = channelType, status = CampaignStatus.PAUSED, biddingStrategyConfiguration = new BiddingStrategyConfiguration() { biddingStrategyType = strategyType }, budget = new Budget() { budgetId = CreateBudget(user), period = BudgetBudgetPeriod.DAILY, amount = new Money() { microAmount = 100000000, }, deliveryMethod = BudgetBudgetDeliveryMethod.STANDARD } }; if (isMobile) { switch (campaign.advertisingChannelType) { case AdvertisingChannelType.SEARCH: campaign.advertisingChannelSubType = AdvertisingChannelSubType.SEARCH_MOBILE_APP; break; case AdvertisingChannelType.DISPLAY: campaign.advertisingChannelSubType = AdvertisingChannelSubType.DISPLAY_MOBILE_APP; break; } } List<Setting> settings = new List<Setting>(); if (channelType == AdvertisingChannelType.SHOPPING) { // All Shopping campaigns need a ShoppingSetting. ShoppingSetting shoppingSetting = new ShoppingSetting() { salesCountry = "US", campaignPriority = 0, merchantId = (user.Config as AdWordsAppConfig).MerchantCenterId }; settings.Add(shoppingSetting); } campaign.settings = settings.ToArray(); CampaignOperation campaignOperation = new CampaignOperation() { @operator = Operator.ADD, operand = campaign }; CampaignReturnValue retVal = campaignService.mutate(new CampaignOperation[] { campaignOperation }); return retVal.value[0].id; }