// Copyright 2013 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package v201306;
import com.google.api.adwords.lib.AdWordsService;
import com.google.api.adwords.lib.AdWordsServiceLogger;
import com.google.api.adwords.lib.AdWordsUser;
import com.google.api.adwords.v201306.cm.AdGroupAd;
import com.google.api.adwords.v201306.cm.AdGroupAdOperation;
import com.google.api.adwords.v201306.cm.AdGroupAdReturnValue;
import com.google.api.adwords.v201306.cm.AdGroupAdServiceInterface;
import com.google.api.adwords.v201306.cm.Dimensions;
import com.google.api.adwords.v201306.cm.Operator;
import com.google.api.adwords.v201306.cm.RichMediaAdAdAttribute;
import com.google.api.adwords.v201306.cm.RichMediaAdRichMediaAdType;
import com.google.api.adwords.v201306.cm.ThirdPartyRedirectAd;
import com.google.api.adwords.v201306.cm.ThirdPartyRedirectAdExpandingDirection;
/**
* This example adds a third party redirect ad to an ad group. To get ad groups, run
* GetAllAdGroups.java.
*
* @author api.arogal@gmail.com (Adam Rogal)
*/
public class AddThirdPartyRedirectAd {
public static void main(String[] args) {
try {
// Log SOAP XML request and response.
AdWordsServiceLogger.log();
// Get AdWordsUser from "~/adwords.properties".
AdWordsUser user = new AdWordsUser();
// Get the AdGroupAdService.
AdGroupAdServiceInterface adGroupAdService =
user.getService(AdWordsService.V201306.ADGROUP_AD_SERVICE);
long adGroupId = Long.parseLong("INSERT_ADGROUP_ID_HERE");
// Create third party redirect ad.
ThirdPartyRedirectAd thirdPartyRedirectAd = new ThirdPartyRedirectAd();
thirdPartyRedirectAd.setName("Example third party ad #" + System.currentTimeMillis());
thirdPartyRedirectAd.setUrl("http://www.example.com");
thirdPartyRedirectAd.setDimensions(new Dimensions(300, 250));
// This field normally contains the javascript ad tag.
thirdPartyRedirectAd.setSnippet(
"<img src=\"http://goo.gl/HJM3L\"/>");
// DoubleClick Rich Media Expandable format ID.
thirdPartyRedirectAd.setCertifiedVendorFormatId(232L);
thirdPartyRedirectAd.setIsCookieTargeted(false);
thirdPartyRedirectAd.setIsUserInterestTargeted(false);
thirdPartyRedirectAd.setIsTagged(false);
thirdPartyRedirectAd.setExpandingDirections(new ThirdPartyRedirectAdExpandingDirection[] {
ThirdPartyRedirectAdExpandingDirection.EXPANDING_UP,
ThirdPartyRedirectAdExpandingDirection.EXPANDING_DOWN});
thirdPartyRedirectAd.setAdAttributes(
new RichMediaAdAdAttribute[] {RichMediaAdAdAttribute.ROLL_OVER_TO_EXPAND});
// Set RichMedia ad type
thirdPartyRedirectAd.setRichMediaAdType(RichMediaAdRichMediaAdType.fromValue("STANDARD"));
// Create ad group ad.
AdGroupAd adGroupAd = new AdGroupAd();
adGroupAd.setAdGroupId(adGroupId);
adGroupAd.setAd(thirdPartyRedirectAd);
// Create operations.
AdGroupAdOperation adGroupAdOperation = new AdGroupAdOperation();
adGroupAdOperation.setOperand(adGroupAd);
adGroupAdOperation.setOperator(Operator.ADD);
// Create In Stream ad.
ThirdPartyRedirectAd inStreamAd = new ThirdPartyRedirectAd();
inStreamAd.setName("Cruise to Mars #" + System.currentTimeMillis());
inStreamAd.setUrl("http://www.example.com");
inStreamAd.setSourceUrl("http://www.example.com");
inStreamAd.setAdDuration(15000);
inStreamAd.setUrl(
"http://ad.doubleclick.net/pfadx/N270.126913.6102203221521/B3876671.21;dcadv=2215309;sz=0x0;ord=%5btimestamp%5d;dcmt=text/xml");
inStreamAd.setCertifiedVendorFormatId(303L);
inStreamAd.setRichMediaAdType(RichMediaAdRichMediaAdType.fromValue("IN_STREAM_VIDEO"));
// Create ad group ad.
AdGroupAd adGroupAd2 = new AdGroupAd();
adGroupAd2.setAdGroupId(adGroupId);
adGroupAd2.setAd(inStreamAd);
// Create operations.
AdGroupAdOperation adGroupAdOperation2 = new AdGroupAdOperation();
adGroupAdOperation2.setOperand(adGroupAd2);
adGroupAdOperation2.setOperator(Operator.ADD);
AdGroupAdOperation[] operations =
new AdGroupAdOperation[] {adGroupAdOperation, adGroupAdOperation2};
// Add ads.
AdGroupAdReturnValue result = adGroupAdService.mutate(operations);
// Display ads.
if (result != null && result.getValue() != null) {
for (AdGroupAd adGroupAdResult : result.getValue()) {
System.out.println("Ad with id \"" + adGroupAdResult.getAd().getId() + "\""
+ " and type \"" + adGroupAdResult.getAd().getAdType() + "\" was added.");
}
} else {
System.out.println("No ads were added.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}