public long CreateBudget(AdWordsUser user) { BudgetService budgetService = (BudgetService) user.GetService(AdWordsService.v201406.BudgetService); // Create the campaign budget. Budget budget = new Budget(); budget.name = "Interplanetary Cruise Budget #" + DateTime.Now.ToString("yyyy-M-d H:m:s.ffffff"); 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; BudgetReturnValue budgetRetval = budgetService.mutate(new BudgetOperation[] { budgetOperation }); return budgetRetval.value[0].budgetId; }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> public void Run(AdWordsUser user) { // Get the BudgetService. BudgetService budgetService = (BudgetService) user.GetService(AdWordsService.v201406.BudgetService); // Get the VideoCampaignService. VideoCampaignService videoCampaignService = (VideoCampaignService) user.GetService(AdWordsService.v201406.VideoCampaignService); // 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 ex) { throw new System.ApplicationException("Failed to add shared budget.", ex); } // Create video campaign. VideoCampaign videoCampaign = new VideoCampaign(); videoCampaign.name = ("Interplanetary Cruise #" + ExampleUtilities.GetRandomString()); videoCampaign.status = VideoCampaignStatus.PAUSED; videoCampaign.budgetId = budget.budgetId; // You can optionally provide these field(s). The dates will be // interpreted using the account's timezone. videoCampaign.startDate = DateTime.Now.AddDays(1).ToString("yyyyMMdd"); try { // Create operations. VideoCampaignOperation operation = new VideoCampaignOperation(); operation.operand = videoCampaign; operation.@operator = Operator.ADD; VideoCampaignOperation[] operations = new VideoCampaignOperation[] { operation }; // Add video campaigns. VideoCampaignReturnValue retval = videoCampaignService.mutate(operations); // Display video campaigns. if (retval != null && retval.value != null && retval.value.Length > 0) { VideoCampaign newVideoCampaign = retval.value[0]; Console.WriteLine("Campaign with name '{0}' and id = {1} was added.", newVideoCampaign.name, newVideoCampaign.id); } else { Console.WriteLine("No video campaigns were added."); } } catch (Exception ex) { throw new System.ApplicationException("Failed to add video campaign.", ex); } }
/// <summary> /// Creates an explicit budget to be used only to create the Campaign. /// </summary> /// <param name="budgetService">The budget service.</param> /// <param name="name">The budget name.</param> /// <param name="amount">The budget amount.</param> /// <returns>The budget object.</returns> private Budget CreateSharedBudget(BudgetService budgetService, String name, long amount) { // Create a shared budget Budget budget = new Budget(); budget.name = name; budget.period = BudgetBudgetPeriod.DAILY; budget.amount = new Money(); budget.amount.microAmount = amount; budget.deliveryMethod = BudgetBudgetDeliveryMethod.STANDARD; budget.isExplicitlyShared = true; // Create operation. BudgetOperation operation = new BudgetOperation(); operation.operand = budget; operation.@operator = Operator.ADD; // Make the mutate request. return budgetService.mutate(new BudgetOperation[] {operation}).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.v201406.BudgetService); // Get the CampaignService. CampaignService campaignService = (CampaignService) user.GetService(AdWordsService.v201406.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 ex) { throw new System.ApplicationException("Failed to add shared budget.", ex); } 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; // Set the campaign settings for near-exact and near-phrase matches. KeywordMatchSetting keywordSetting = new KeywordMatchSetting(); keywordSetting.optIn = false; campaign.settings = new Setting[] {rtbSetting, keywordSetting}; // 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 ex) { throw new System.ApplicationException("Failed to add campaigns.", ex); } }