public static void runExample( AdWordsServices adWordsServices, AdWordsSession session, Long adGroupId) throws Exception { // Get the AdGroupAdService. AdGroupAdServiceInterface adGroupAdService = adWordsServices.get(session, AdGroupAdServiceInterface.class); int offset = 0; boolean morePages = true; // Create selector. Selector selector = new Selector(); selector.setFields(new String[] {"Id", "AdGroupId", "Status"}); selector.setOrdering(new OrderBy[] {new OrderBy("Id", SortOrder.ASCENDING)}); selector.setPaging(new Paging(offset, PAGE_SIZE)); // Create predicates. Predicate adGroupIdPredicate = new Predicate("AdGroupId", PredicateOperator.IN, new String[] {adGroupId.toString()}); // By default disabled ads aren't returned by the selector. To return them // include the DISABLED status in a predicate. Predicate statusPredicate = new Predicate( "Status", PredicateOperator.IN, new String[] {"ENABLED", "PAUSED", "DISABLED"}); Predicate adTypePredicate = new Predicate("AdType", PredicateOperator.EQUALS, new String[] {"THIRD_PARTY_REDIRECT_AD"}); selector.setPredicates(new Predicate[] {adGroupIdPredicate, statusPredicate, adTypePredicate}); while (morePages) { // Get all ads. AdGroupAdPage page = adGroupAdService.get(selector); // Display ads. if (page.getEntries() != null && page.getEntries().length > 0) { for (AdGroupAd adGroupAd : page.getEntries()) { System.out.println( "Ad with id \"" + adGroupAd.getAd().getId() + "\"" + " and type \"" + adGroupAd.getAd().getAdType() + "\" was found."); } } else { System.out.println("No ads were found."); } offset += PAGE_SIZE; selector.getPaging().setStartIndex(offset); morePages = offset < page.getTotalNumEntries(); } }
/** Creates text ads that use ad customizations for the specified ad group IDs. */ private static void createAdsWithCustomizations( AdWordsServices adWordsServices, AdWordsSession session, List<Long> adGroupIds, String feedName) throws Exception { // Get the AdGroupAdService. AdGroupAdServiceInterface adGroupAdService = adWordsServices.get(session, AdGroupAdServiceInterface.class); TextAd textAd = new TextAd(); textAd.setHeadline(String.format("Luxury Cruise to {=%s.Name}", feedName)); textAd.setDescription1(String.format("Only {=%s.Price}", feedName)); textAd.setDescription2(String.format("Offer ends in {=countdown(%s.Date)}!", feedName)); textAd.setFinalUrls(new String[] {"http://www.example.com"}); textAd.setDisplayUrl("www.example.com"); // We add the same ad to both ad groups. When they serve, they will show different values, since // they match different feed items. List<AdGroupAdOperation> adGroupAdOperations = Lists.newArrayList(); for (Long adGroupId : adGroupIds) { AdGroupAd adGroupAd = new AdGroupAd(); adGroupAd.setAdGroupId(adGroupId); adGroupAd.setAd(textAd); AdGroupAdOperation adGroupAdOperation = new AdGroupAdOperation(); adGroupAdOperation.setOperand(adGroupAd); adGroupAdOperation.setOperator(Operator.ADD); adGroupAdOperations.add(adGroupAdOperation); } AdGroupAdReturnValue adGroupAdReturnValue = adGroupAdService.mutate( adGroupAdOperations.toArray(new AdGroupAdOperation[adGroupAdOperations.size()])); for (AdGroupAd addedAd : adGroupAdReturnValue.getValue()) { System.out.printf( "Created an ad with ID %d, type '%s' and status '%s'.%n", addedAd.getAd().getId(), addedAd.getAd().getAdType(), addedAd.getStatus()); } }
public static void runExample( AdWordsServices adWordsServices, AdWordsSession session, Long adGroupId, Long adId) throws Exception { // Get the AdGroupAdService. AdGroupAdServiceInterface adGroupAdService = adWordsServices.get(session, AdGroupAdServiceInterface.class); // Create ad with updated status. Ad ad = new Ad(); ad.setId(adId); AdGroupAd adGroupAd = new AdGroupAd(); adGroupAd.setAdGroupId(adGroupId); adGroupAd.setAd(ad); adGroupAd.setStatus(AdGroupAdStatus.PAUSED); // Create operations. AdGroupAdOperation operation = new AdGroupAdOperation(); operation.setOperand(adGroupAd); operation.setOperator(Operator.SET); AdGroupAdOperation[] operations = new AdGroupAdOperation[] {operation}; // Update ad. AdGroupAdReturnValue result = adGroupAdService.mutate(operations); // Display ads. for (AdGroupAd adGroupAdResult : result.getValue()) { System.out.println( "Ad with id \"" + adGroupAdResult.getAd().getId() + "\", type \"" + adGroupAdResult.getAd().getAdType() + "\", and status \"" + adGroupAdResult.getStatus() + "\" was updated."); } }
public static void runExample( AdWordsServices adWordsServices, AdWordsSession session, long adGroupId) throws Exception { // Get the AdGroupAdService. AdGroupAdServiceInterface adGroupAdService = adWordsServices.get(session, AdGroupAdServiceInterface.class); // Create text ads. TextAd textAd = new TextAd(); textAd.setHeadline("Luxury Cruise to Mars"); textAd.setDescription1("Visit the Red Planet in style."); textAd.setDescription2("Low-gravity fun for everyone!"); textAd.setDisplayUrl("www.example.com"); // Specify a tracking url for 3rd party tracking provider. You may // specify one at customer, campaign, ad group, ad, criterion or // feed item levels. textAd.setTrackingUrlTemplate( "http://tracker.example.com/?season={_season}&promocode={_promocode}&u={lpurl}"); // Since your tracking url has two custom parameters, provide their // values too. This can be provided at campaign, ad group, ad, criterion // or feed item levels. CustomParameter seasonParameter = new CustomParameter(); seasonParameter.setKey("season"); seasonParameter.setValue("christmas"); CustomParameter promoCodeParameter = new CustomParameter(); promoCodeParameter.setKey("promocode"); promoCodeParameter.setValue("NYC123"); CustomParameters trackingUrlParameters = new CustomParameters(); trackingUrlParameters.setParameters( new CustomParameter[] {seasonParameter, promoCodeParameter}); textAd.setUrlCustomParameters(trackingUrlParameters); // Specify a list of final urls. This field cannot be set if url field is // set. This may be specified at ad, criterion, and feed item levels. textAd.setFinalUrls( new String[] { "http://www.example.com/cruise/space/", "http://www.example.com/locations/mars/" }); // Specify a list of final mobile urls. This field cannot be set if url field is // set or finalUrls is not set. This may be specified at ad, criterion, and feed // item levels. textAd.setFinalMobileUrls( new String[] { "http://mobile.example.com/cruise/space/", "http://mobile.example.com/locations/mars/" }); // Create ad group ad. AdGroupAd textAdGroupAd = new AdGroupAd(); textAdGroupAd.setAdGroupId(adGroupId); textAdGroupAd.setAd(textAd); // Optional: Set status. textAdGroupAd.setStatus(AdGroupAdStatus.PAUSED); // Create operation. AdGroupAdOperation textAdGroupAdOperation = new AdGroupAdOperation(); textAdGroupAdOperation.setOperand(textAdGroupAd); textAdGroupAdOperation.setOperator(Operator.ADD); AdGroupAdOperation[] operations = new AdGroupAdOperation[] {textAdGroupAdOperation}; // Add ad. AdGroupAd adGroupAdResult = adGroupAdService.mutate(operations).getValue(0); // Display ad. System.out.printf( "Ad with ID %d and displayUrl '%s' was added.", adGroupAdResult.getAd().getId(), adGroupAdResult.getAd().getDisplayUrl()); }