/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">Id of the camapign to which sitelinks are /// added.</param> public void Run(AdWordsUser user, long campaignId) { // Get the CampaignAdExtensionService. CampaignAdExtensionService campaignExtensionService = (CampaignAdExtensionService)user.GetService(AdWordsService.v201306. CampaignAdExtensionService); // Create the sitelinks. SitelinksExtension siteLinkExtension = new SitelinksExtension(); Sitelink siteLink1 = new Sitelink(); siteLink1.displayText = "Music"; siteLink1.destinationUrl = "http://www.example.com/music"; Sitelink siteLink2 = new Sitelink(); siteLink2.displayText = "DVDs"; siteLink2.destinationUrl = "http://www.example.com/dvds"; Sitelink siteLink3 = new Sitelink(); siteLink3.displayText = "New albums"; siteLink3.destinationUrl = "http://www.example.com/albums/new"; siteLinkExtension.sitelinks = new Sitelink[] {siteLink1, siteLink2, siteLink3}; CampaignAdExtension campaignAdExtension = new CampaignAdExtension(); campaignAdExtension.adExtension = siteLinkExtension; campaignAdExtension.campaignId = campaignId; // Create the operation. CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operation.@operator = Operator.ADD; operation.operand = campaignAdExtension; try { // Create the sitelinks. CampaignAdExtensionReturnValue retVal = campaignExtensionService.mutate(new CampaignAdExtensionOperation[] {operation}); // Display the results. if (retVal != null && retVal.value != null && retVal.value.Length > 0) { CampaignAdExtension campaignExtension = retVal.value[0]; Console.WriteLine("Created a campaign ad extension with id = \"{0}\" and " + "status = \"{1}\"", campaignExtension.adExtension.id, campaignExtension.status); foreach (Sitelink siteLink in (campaignExtension.adExtension as SitelinksExtension).sitelinks) { Console.WriteLine("-- Site link text is \"{0}\" and destination url is {1}", siteLink.displayText, siteLink.destinationUrl); } } else { Console.WriteLine("No sitelinks were created."); } } catch (Exception ex) { throw new System.ApplicationException("Failed to add site links.", ex); } }
/// <summary> /// Creates the legacy sitelinks. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">The campaign id.</param> /// <returns>The list of legacy sitelinks.</returns> public Sitelink[] CreateLegacySitelinks(AdWordsUser user, long campaignId) { // Get the CampaignAdExtensionService. CampaignAdExtensionService campaignExtensionService = (CampaignAdExtensionService) user.GetService(AdWordsService.v201306. CampaignAdExtensionService); // Create the sitelinks. SitelinksExtension siteLinkExtension = new SitelinksExtension(); Sitelink siteLink1 = new Sitelink(); siteLink1.displayText = "Music"; siteLink1.destinationUrl = "http://www.example.com/music"; Sitelink siteLink2 = new Sitelink(); siteLink2.displayText = "DVDs"; siteLink2.destinationUrl = "http://www.example.com/dvds"; Sitelink siteLink3 = new Sitelink(); siteLink3.displayText = "New albums"; siteLink3.destinationUrl = "http://www.example.com/albums/new"; siteLinkExtension.sitelinks = new Sitelink[] {siteLink1, siteLink2, siteLink3}; CampaignAdExtension campaignAdExtension = new CampaignAdExtension(); campaignAdExtension.adExtension = siteLinkExtension; campaignAdExtension.campaignId = campaignId; // Create the operation. CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operation.@operator = Operator.ADD; operation.operand = campaignAdExtension; // Create the sitelinks. CampaignAdExtensionReturnValue retVal = campaignExtensionService.mutate(new CampaignAdExtensionOperation[] {operation}); return (retVal.value[0].adExtension as SitelinksExtension).sitelinks; }