Пример #1
0
        /// <summary>
        /// Deletes the old feed items for which extension settings have been
        /// created.
        /// </summary>
        /// <param name="user">The user that owns the feed items.</param>
        /// <param name="feedItemIds">IDs of the feed items to be removed.</param>
        /// <param name="feedId">ID of the feed that holds the feed items.</param>
        private void DeleteOldFeedItems(AdWordsUser user, List <long> feedItemIds, long feedId)
        {
            if (feedItemIds.Count == 0)
            {
                return;
            }
            List <FeedItemOperation> operations = new List <FeedItemOperation>();

            foreach (long feedItemId in feedItemIds)
            {
                FeedItemOperation operation = new FeedItemOperation()
                {
                    @operator = Operator.REMOVE,
                    operand   = new FeedItem()
                    {
                        feedItemId = feedItemId,
                        feedId     = feedId
                    }
                };
                operations.Add(operation);
            }
            FeedItemService feedItemService = (FeedItemService)user.GetService(
                AdWordsService.v201609.FeedItemService);

            feedItemService.mutate(operations.ToArray());
            return;
        }
Пример #2
0
        /// <summary>
        /// Creates feed items with the values to use in ad customizations for each
        /// ad group in <code>adGroupIds</code>.
        /// </summary>
        /// <param name="user">The AdWords user.</param>
        /// <param name="adGroupIds">IDs of adgroups to which ad customizations are
        /// made.</param>
        /// <param name="adCustomizerFeed">The ad customizer feed.</param>
        private static void CreateCustomizerFeedItems(AdWordsUser user, long[] adGroupIds,
                                                      AdCustomizerFeed adCustomizerFeed)
        {
            using (FeedItemService feedItemService =
                       (FeedItemService)user.GetService(AdWordsService.v201809.FeedItemService))
            {
                List <FeedItemOperation> feedItemOperations = new List <FeedItemOperation>();

                DateTime marsDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
                feedItemOperations.Add(CreateFeedItemAddOperation(adCustomizerFeed, "Mars",
                                                                  "$1234.56", marsDate.ToString("yyyyMMdd HHmmss")));

                DateTime venusDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 15);
                feedItemOperations.Add(CreateFeedItemAddOperation(adCustomizerFeed, "Venus",
                                                                  "$1450.00", venusDate.ToString("yyyyMMdd HHmmss")));

                FeedItemReturnValue feedItemReturnValue =
                    feedItemService.mutate(feedItemOperations.ToArray());

                foreach (FeedItem addedFeedItem in feedItemReturnValue.value)
                {
                    Console.WriteLine("Added feed item with ID {0}", addedFeedItem.feedItemId);
                }

                // Add feed item targeting to restrict the feed item to specific ad groups.
                RestrictFeedItemToAdGroup(user, feedItemReturnValue.value[0], adGroupIds[0]);
                RestrictFeedItemToAdGroup(user, feedItemReturnValue.value[1], adGroupIds[1]);
            }
        }
        /// <summary>
        /// Creates FeedItems with the values to use in ad customizations for each
        /// ad group in <code>adGroupIds</code>.
        /// </summary>
        /// <param name="user">The AdWords user.</param>
        /// <param name="adGroupIds">IDs of adgroups to which ad customizations are
        /// made.</param>
        /// <param name="adCustomizerFeed">The ad customizer feed.</param>
        private static void CreateCustomizerFeedItems(AdWordsUser user, long[] adGroupIds,
                                                      AdCustomizerFeed adCustomizerFeed)
        {
            // Get the FeedItemService.
            FeedItemService feedItemService = (FeedItemService)user.GetService(
                AdWordsService.v201605.FeedItemService);

            List <FeedItemOperation> feedItemOperations = new List <FeedItemOperation>();

            DateTime marsDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);

            feedItemOperations.Add(CreateFeedItemAddOperation(adCustomizerFeed, "Mars", "$1234.56",
                                                              marsDate.ToString("yyyyMMdd HHmmss"), adGroupIds[0]));

            DateTime venusDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 15);

            feedItemOperations.Add(CreateFeedItemAddOperation(adCustomizerFeed, "Venus", "$1450.00",
                                                              venusDate.ToString("yyyyMMdd HHmmss"), adGroupIds[1]));

            FeedItemReturnValue feedItemReturnValue = feedItemService.mutate(
                feedItemOperations.ToArray());

            foreach (FeedItem addedFeedItem in feedItemReturnValue.value)
            {
                Console.WriteLine("Added feed item with ID {0}", addedFeedItem.feedItemId);
            }
        }
Пример #4
0
        /// <summary>
        /// Update Site Link using Feed Item Service
        /// </summary>
        /// <param name="user">Adwords User Object</param>
        /// <param name="feedItem">Feed Item on which Operation to be performed</param>
        /// <returns>FeedItem returned after performing SET Operation</returns>
        public FeedItem UpdateSiteLinkUsingFeedItemService(AdWordsUser user, FeedItem feedItem)
        {
            FeedItemService   feedItemService   = (FeedItemService)user.GetService(AdWordsService.v201809.FeedItemService);
            FeedItemOperation feedItemOperation = new FeedItemOperation();

            feedItemOperation.operand   = feedItem;
            feedItemOperation.@operator = Operator.SET;
            try
            {
                FeedItemReturnValue feedItemReturnValue = feedItemService.mutate(new[] { feedItemOperation });
                if (feedItemReturnValue.value != null && feedItemReturnValue.value.Length > 0)
                {
                    FeedItem modifiedFeedItem = feedItemReturnValue.value[0];
                    Logger.Log(Logger.LogType.INFO, "Modification Successful for Feed(ID): " + feedItem.feedId + " with FeedItem(ID): " + feedItem.feedItemId);
                    return(modifiedFeedItem);
                }
                else
                {
                    Logger.Log(Logger.LogType.WARNING, "Nothing Modified for Feed(ID): " + feedItem.feedId + " with FeedItem(ID): " + feedItem.feedItemId);
                    return(null);
                }
            }
            catch (AdWordsApiException ex)
            {
                Logger.Log(Logger.LogType.EXCEPTION, Environment.NewLine + ex.Message + Environment.NewLine + ex.InnerException);
                return(null);
            }
        }
Пример #5
0
        private static void CreateSitelinksFeedItems(AdWordsUser user,
                                                     SitelinksDataHolder siteLinksData)
        {
            using (FeedItemService feedItemService =
                       (FeedItemService)user.GetService(AdWordsService.v201809.FeedItemService))
            {
                // Create operations to add FeedItems.
                FeedItemOperation home = NewSitelinkFeedItemAddOperation(siteLinksData, "Home",
                                                                         "http://www.example.com", "Home line 2", "Home line 3");
                FeedItemOperation stores = NewSitelinkFeedItemAddOperation(siteLinksData, "Stores",
                                                                           "http://www.example.com/stores", "Stores line 2", "Stores line 3");
                FeedItemOperation onSale = NewSitelinkFeedItemAddOperation(siteLinksData, "On Sale",
                                                                           "http://www.example.com/sale", "On Sale line 2", "On Sale line 3");
                FeedItemOperation support = NewSitelinkFeedItemAddOperation(siteLinksData,
                                                                            "Support", "http://www.example.com/support", "Support line 2",
                                                                            "Support line 3");
                FeedItemOperation products = NewSitelinkFeedItemAddOperation(siteLinksData,
                                                                             "Products", "http://www.example.com/prods", "Products line 2",
                                                                             "Products line 3");

                // This site link is using geographical targeting to use LOCATION_OF_PRESENCE.
                FeedItemOperation aboutUs = NewSitelinkFeedItemAddOperation(siteLinksData,
                                                                            "About Us", "http://www.example.com/about", "About Us line 2",
                                                                            "About Us line 3", true);

                FeedItemOperation[] operations = new FeedItemOperation[]
                {
                    home,
                    stores,
                    onSale,
                    support,
                    products,
                    aboutUs
                };

                FeedItemReturnValue result = feedItemService.mutate(operations);
                foreach (FeedItem item in result.value)
                {
                    Console.WriteLine("FeedItem with feedItemId {0} was added.", item.feedItemId);
                    siteLinksData.FeedItemIds.Add(item.feedItemId);
                }

                // Target the "aboutUs" sitelink to geographically target California.
                // See https://developers.google.com/adwords/api/docs/appendix/geotargeting for
                // location criteria for supported locations.
                RestrictFeedItemToGeoTarget(user, result.value[5], 21137);
            }
        }
Пример #6
0
 /// <summary>
 /// Creates the page URLs in the DSA page feed.
 /// </summary>
 /// <param name="user">The AdWords user.</param>
 /// <param name="feedDetails">The feed details.</param>
 /// <param name="labelName">The pagefeed url label.</param>
 private static void CreateFeedItems(AdWordsUser user, DSAFeedDetails feedDetails,
                                     string labelName)
 {
     using (FeedItemService feedItemService = (FeedItemService)user.GetService(
                AdWordsService.v201802.FeedItemService)) {
         FeedItemOperation[] operations = new FeedItemOperation[] {
             CreateDsaUrlAddOperation(feedDetails, "http://www.example.com/discounts/rental-cars",
                                      labelName),
             CreateDsaUrlAddOperation(feedDetails, "http://www.example.com/discounts/hotel-deals",
                                      labelName),
             CreateDsaUrlAddOperation(feedDetails, "http://www.example.com/discounts/flight-deals",
                                      labelName),
         };
         feedItemService.mutate(operations);
     }
 }
Пример #7
0
        private static void createSitelinksFeedItems(AdWordsUser user,
                                                     SitelinksDataHolder siteLinksData)
        {
            using (FeedItemService feedItemService =
                       (FeedItemService)user.GetService(AdWordsService.v201802.FeedItemService))
            {
                // Create operations to add FeedItems.
                FeedItemOperation home = newSitelinkFeedItemAddOperation(siteLinksData, "Home",
                                                                         "http://www.example.com", "Home line 2", "Home line 3");
                FeedItemOperation stores = newSitelinkFeedItemAddOperation(siteLinksData, "Stores",
                                                                           "http://www.example.com/stores", "Stores line 2", "Stores line 3");
                FeedItemOperation onSale = newSitelinkFeedItemAddOperation(siteLinksData, "On Sale",
                                                                           "http://www.example.com/sale", "On Sale line 2", "On Sale line 3");
                FeedItemOperation support = newSitelinkFeedItemAddOperation(siteLinksData,
                                                                            "Support", "http://www.example.com/support", "Support line 2",
                                                                            "Support line 3");
                FeedItemOperation products = newSitelinkFeedItemAddOperation(siteLinksData,
                                                                             "Products", "http://www.example.com/prods", "Products line 2",
                                                                             "Products line 3");

                // This site link is using geographical targeting by specifying the
                // criterion ID for California.
                FeedItemOperation aboutUs = newSitelinkFeedItemAddOperation(siteLinksData,
                                                                            "About Us", "http://www.example.com/about", "About Us line 2",
                                                                            "About Us line 3", 21137);

                FeedItemOperation[] operations = new FeedItemOperation[]
                {
                    home,
                    stores,
                    onSale,
                    support,
                    products,
                    aboutUs
                };

                FeedItemReturnValue result = feedItemService.mutate(operations);
                foreach (FeedItem item in result.value)
                {
                    Console.WriteLine("FeedItem with feedItemId {0} was added.", item.feedItemId);
                    siteLinksData.FeedItemIds.Add(item.feedItemId);
                }
            }
        }
Пример #8
0
        private static void createSiteLinksFeedItems(
            AdWordsUser user, SiteLinksDataHolder siteLinksData)
        {
            // Get the FeedItemService.
            FeedItemService feedItemService =
                (FeedItemService)user.GetService(AdWordsService.v201406.FeedItemService);

            // Create operations to add FeedItems.
            FeedItemOperation home =
                newSiteLinkFeedItemAddOperation(siteLinksData,
                                                "Home", "http://www.example.com");
            FeedItemOperation stores =
                newSiteLinkFeedItemAddOperation(siteLinksData,
                                                "Stores", "http://www.example.com/stores");
            FeedItemOperation onSale =
                newSiteLinkFeedItemAddOperation(siteLinksData,
                                                "On Sale", "http://www.example.com/sale");
            FeedItemOperation support =
                newSiteLinkFeedItemAddOperation(siteLinksData,
                                                "Support", "http://www.example.com/support");
            FeedItemOperation products =
                newSiteLinkFeedItemAddOperation(siteLinksData,
                                                "Products", "http://www.example.com/prods");
            FeedItemOperation aboutUs =
                newSiteLinkFeedItemAddOperation(siteLinksData,
                                                "About Us", "http://www.example.com/about");

            FeedItemOperation[] operations =
                new FeedItemOperation[] { home, stores, onSale, support, products, aboutUs };

            FeedItemReturnValue result = feedItemService.mutate(operations);

            foreach (FeedItem item in result.value)
            {
                Console.WriteLine("FeedItem with feedItemId {0} was added.", item.feedItemId);
                siteLinksData.SiteLinkFeedItemIds.Add(item.feedItemId);
            }
        }
        /// <summary>
        /// Creates FeedItems with the values to use in ad customizations for each
        /// ad group in <code>adGroupIds</code>.
        /// </summary>
        /// <param name="user">The AdWords user.</param>
        /// <param name="adGroupIds">IDs of adgroups to which ad customizations are
        /// made.</param>
        /// <param name="dataHolder">The data holder that contains metadata about
        /// the customizer Feed.</param>
        private static void CreateCustomizerFeedItems(AdWordsUser user, long[] adGroupIds,
                                                      CustomizersDataHolder dataHolder)
        {
            // Get the FeedItemService.
            FeedItemService feedItemService = (FeedItemService)user.GetService(
                AdWordsService.v201406.FeedItemService);

            List <FeedItemOperation> feedItemOperations = new List <FeedItemOperation>();

            feedItemOperations.Add(CreateFeedItemAddOperation("Mars", "$1234.56", "20140601 000000",
                                                              adGroupIds[0], dataHolder));
            feedItemOperations.Add(CreateFeedItemAddOperation("Venus", "$1450.00", "20140615 120000",
                                                              adGroupIds[1], dataHolder));

            FeedItemReturnValue feedItemReturnValue = feedItemService.mutate(
                feedItemOperations.ToArray());

            foreach (FeedItem addedFeedItem in feedItemReturnValue.value)
            {
                Console.WriteLine("Added feed item with ID {0}", addedFeedItem.feedItemId);
                dataHolder.FeedItemIds.Add(addedFeedItem.feedItemId);
            }
        }