/// <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);
              }
        }
Пример #3
0
        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);
              }
        }
Пример #8
0
        /// <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;
        }