private static final String NUM_REQUESTS = "INSERT_NUMBER_OF_REQUESTS_HERE";
public static void runExample(DfpServices dfpServices, DfpSession session, long numRequests)
throws Exception {
// Get the SuggestedAdUnitService.
SuggestedAdUnitServiceInterface suggestedAdUnitService =
dfpServices.get(session, SuggestedAdUnitServiceInterface.class);
// Create a statement to only select suggested ad units that have a high
// request rate.
StatementBuilder statementBuilder = new StatementBuilder()
.where("numRequests >= :numRequests")
.orderBy("id ASC")
.limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
.withBindVariableValue("numRequests", numRequests);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get suggested ad units by statement.
SuggestedAdUnitPage page =
suggestedAdUnitService.getSuggestedAdUnitsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (SuggestedAdUnit suggestedAdUnit : page.getResults()) {