use of com.google.api.ads.admanager.axis.v202108.Placement in project googleads-java-lib by googleads.
the class GetAllPlacements method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws RemoteException {
// Get the PlacementService.
PlacementServiceInterface placementService = adManagerServices.get(session, PlacementServiceInterface.class);
// Create a statement to get all placements.
StatementBuilder statementBuilder = new StatementBuilder().orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get placements by statement.
PlacementPage page = placementService.getPlacementsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (Placement placement : page.getResults()) {
System.out.printf("%d) Placement with ID %d and name '%s' was found.%n", i++, placement.getId(), placement.getName());
}
}
statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
} while (statementBuilder.getOffset() < totalResultSetSize);
System.out.printf("Number of results found: %d%n", totalResultSetSize);
}
use of com.google.api.ads.admanager.axis.v202108.Placement in project googleads-java-lib by googleads.
the class UpdatePlacements method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @param placementId the ID of the placement to update.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session, long placementId) throws RemoteException {
// Get the PlacementService.
PlacementServiceInterface placementService = adManagerServices.get(session, PlacementServiceInterface.class);
// Create a statement to only select a single placement by ID.
StatementBuilder statementBuilder = new StatementBuilder().where("id = :id").orderBy("id ASC").limit(1).withBindVariableValue("id", placementId);
// Get the placement.
PlacementPage page = placementService.getPlacementsByStatement(statementBuilder.toStatement());
Placement placement = Iterables.getOnlyElement(Arrays.asList(page.getResults()));
placement.setDescription("This placement contains all leaderboards.");
// Update the placement on the server.
Placement[] placements = placementService.updatePlacements(new Placement[] { placement });
for (Placement updatedPlacement : placements) {
System.out.printf("Placement with ID %d and name '%s' was updated.%n", updatedPlacement.getId(), updatedPlacement.getName());
}
}
use of com.google.api.ads.admanager.axis.v202108.Placement in project googleads-java-lib by googleads.
the class CreatePlacements method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws RemoteException {
// Get the PlacementService.
PlacementServiceInterface placementService = adManagerServices.get(session, PlacementServiceInterface.class);
// Get all ad units.
List<AdUnit> adUnits = getAllAdUnits(adManagerServices, session);
// Partition ad units by their size.
Set<String> mediumSquareAdUnitIds = Sets.newHashSet();
Set<String> skyscraperAdUnitIds = Sets.newHashSet();
Set<String> bannerAdUnitIds = Sets.newHashSet();
for (AdUnit adUnit : adUnits) {
if (adUnit.getParentId() != null && adUnit.getAdUnitSizes() != null) {
for (AdUnitSize adUnitSize : adUnit.getAdUnitSizes()) {
Size size = adUnitSize.getSize();
if (size.getWidth() == 300 && size.getHeight() == 250) {
mediumSquareAdUnitIds.add(adUnit.getId());
} else if (size.getWidth() == 120 && size.getHeight() == 600) {
skyscraperAdUnitIds.add(adUnit.getId());
} else if (size.getWidth() == 468 && size.getHeight() == 60) {
bannerAdUnitIds.add(adUnit.getId());
}
}
}
}
List<Placement> placementsToCreate = new ArrayList<>();
// Only create placements with one or more ad unit.
if (!mediumSquareAdUnitIds.isEmpty()) {
// Create medium square placement.
Placement mediumSquareAdUnitPlacement = new Placement();
mediumSquareAdUnitPlacement.setName("Medium Square AdUnit Placement #" + new Random().nextInt(Integer.MAX_VALUE));
mediumSquareAdUnitPlacement.setDescription("Contains ad units that can hold creatives of size 300x250");
mediumSquareAdUnitPlacement.setTargetedAdUnitIds(mediumSquareAdUnitIds.toArray(new String[] {}));
placementsToCreate.add(mediumSquareAdUnitPlacement);
}
if (!skyscraperAdUnitIds.isEmpty()) {
// Create skyscraper placement.
Placement skyscraperAdUnitPlacement = new Placement();
skyscraperAdUnitPlacement.setName("Skyscraper AdUnit Placement #" + new Random().nextInt(Integer.MAX_VALUE));
skyscraperAdUnitPlacement.setDescription("Contains ad units that can hold creatives of size 120x600");
skyscraperAdUnitPlacement.setTargetedAdUnitIds(skyscraperAdUnitIds.toArray(new String[] {}));
placementsToCreate.add(skyscraperAdUnitPlacement);
}
if (!bannerAdUnitIds.isEmpty()) {
// Create banner placement.
Placement bannerAdUnitPlacement = new Placement();
bannerAdUnitPlacement.setName("Banner AdUnit Placement #" + new Random().nextInt(Integer.MAX_VALUE));
bannerAdUnitPlacement.setDescription("Contains ad units that can hold creatives of size 468x60");
bannerAdUnitPlacement.setTargetedAdUnitIds(bannerAdUnitIds.toArray(new String[] {}));
placementsToCreate.add(bannerAdUnitPlacement);
}
if (!placementsToCreate.isEmpty()) {
// Create the placements on the server.
Placement[] placements = placementService.createPlacements(placementsToCreate.toArray(new Placement[] {}));
for (Placement createdPlacement : placements) {
System.out.printf("A placement with ID %d, name '%s', and containing ad units [%s] was created.%n", createdPlacement.getId(), createdPlacement.getName(), Joiner.on(", ").join(createdPlacement.getTargetedAdUnitIds()));
}
} else {
System.out.println("No placements were created.");
}
}
use of com.google.api.ads.admanager.axis.v202108.Placement in project googleads-java-lib by googleads.
the class GetActivePlacements method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws RemoteException {
PlacementServiceInterface placementService = adManagerServices.get(session, PlacementServiceInterface.class);
// Create a statement to select placements.
StatementBuilder statementBuilder = new StatementBuilder().where("status = :status").orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT).withBindVariableValue("status", InventoryStatus.ACTIVE.toString());
// Retrieve a small amount of placements at a time, paging through
// until all placements have been retrieved.
int totalResultSetSize = 0;
do {
PlacementPage page = placementService.getPlacementsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
// Print out some information for each placement.
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (Placement placement : page.getResults()) {
System.out.printf("%d) Placement with ID %d and name '%s' was found.%n", i++, placement.getId(), placement.getName());
}
}
statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
} while (statementBuilder.getOffset() < totalResultSetSize);
System.out.printf("Number of results found: %d%n", totalResultSetSize);
}
use of com.google.api.ads.admanager.axis.v202108.Placement in project googleads-java-lib by googleads.
the class DeactivatePlacements method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @param placementId the ID of the placement to deactivate.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session, long placementId) throws RemoteException {
// Get the PlacementService.
PlacementServiceInterface placementService = adManagerServices.get(session, PlacementServiceInterface.class);
// Create a statement to select a placement.
StatementBuilder statementBuilder = new StatementBuilder().where("WHERE id = :id").orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT).withBindVariableValue("id", placementId);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get placements by statement.
PlacementPage page = placementService.getPlacementsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (Placement placement : page.getResults()) {
System.out.printf("%d) Placement with ID %d will be deactivated.%n", i++, placement.getId());
}
}
statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
} while (statementBuilder.getOffset() < totalResultSetSize);
System.out.printf("Number of placements to be deactivated: %d%n", totalResultSetSize);
if (totalResultSetSize > 0) {
// Remove limit and offset from statement.
statementBuilder.removeLimitAndOffset();
// Create action.
com.google.api.ads.admanager.axis.v202202.DeactivatePlacements action = new com.google.api.ads.admanager.axis.v202202.DeactivatePlacements();
// Perform action.
UpdateResult result = placementService.performPlacementAction(action, statementBuilder.toStatement());
if (result != null && result.getNumChanges() > 0) {
System.out.printf("Number of placements deactivated: %d%n", result.getNumChanges());
} else {
System.out.println("No placements were deactivated.");
}
}
}
Aggregations