use of com.google.api.ads.admanager.axis.v202205.AdjustmentServiceInterface in project googleads-java-lib by googleads.
the class CreateForecastAdjustments method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @param trafficForecastSegmentId the ID of the traffic forecast segment to create the adjustment
* for.
* @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 trafficForecastSegmentId) throws RemoteException {
// Get the adjustment service.
AdjustmentServiceInterface adjustmentService = adManagerServices.get(session, AdjustmentServiceInterface.class);
ForecastAdjustment forecastAdjustment = new ForecastAdjustment();
forecastAdjustment.setName("Forecast adjustment #" + new Random().nextInt(Integer.MAX_VALUE));
forecastAdjustment.setTrafficForecastSegmentId(trafficForecastSegmentId);
// Set the date range that this adjustment will be applied to.
Date startDate = new Date(org.joda.time.DateTime.now().plusYears(1).getYear(), 1, 1);
Date endDate = new Date(org.joda.time.DateTime.now().plusYears(1).getYear(), 1, 1);
DateRange dateRange = new DateRange();
dateRange.setStartDate(startDate);
dateRange.setEndDate(endDate);
forecastAdjustment.setDateRange(dateRange);
// Set the adjustment type to be a historical basis.
forecastAdjustment.setVolumeType(ForecastAdjustmentVolumeType.HISTORICAL_BASIS_VOLUME);
HistoricalBasisVolumeSettings settings = new HistoricalBasisVolumeSettings();
settings.setUseParentTrafficForecastSegmentTargeting(true);
Date historicalStartDate = new Date(org.joda.time.DateTime.now().getYear(), 1, 1);
Date historicalEndDate = new Date(org.joda.time.DateTime.now().getYear(), 1, 1);
DateRange historicalDateRange = new DateRange();
historicalDateRange.setStartDate(historicalStartDate);
historicalDateRange.setEndDate(historicalEndDate);
settings.setHistoricalDateRange(historicalDateRange);
settings.setMultiplierMilliPercent(110000L);
forecastAdjustment.setHistoricalBasisVolumeSettings(settings);
forecastAdjustment.setStatus(ForecastAdjustmentStatus.ACTIVE);
// Update the forecast adjustment on the server.
ForecastAdjustment[] forecastAdjustments = adjustmentService.createForecastAdjustments(new ForecastAdjustment[] { forecastAdjustment });
for (ForecastAdjustment createdForecastAdjustment : forecastAdjustments) {
System.out.printf("Forecast adjustment with ID %d and name '%s' was created.%n", createdForecastAdjustment.getId(), createdForecastAdjustment.getName());
}
}
use of com.google.api.ads.admanager.axis.v202205.AdjustmentServiceInterface in project googleads-java-lib by googleads.
the class GetForecastAdjustmentsForTrafficForecastSegment 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, long trafficForecastSegmentId) throws RemoteException {
// Get the AdjustmentService.
AdjustmentServiceInterface adjustmentService = adManagerServices.get(session, AdjustmentServiceInterface.class);
// Create a statement to get all forecast adjustments.
StatementBuilder statementBuilder = new StatementBuilder().where("trafficForecastSegmentId = :trafficForecastSegmentId").orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT).withBindVariableValue("trafficForecastSegmentId", trafficForecastSegmentId);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get forecast adjustments by statement.
ForecastAdjustmentPage page = adjustmentService.getForecastAdjustmentsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (ForecastAdjustment adjustment : page.getResults()) {
System.out.printf("%d) Forecast adjustment with ID %d and name '%s' belonging to the traffic forecast" + " segment %d was found.%n", i++, adjustment.getId(), adjustment.getName(), adjustment.getTrafficForecastSegmentId());
}
}
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.v202205.AdjustmentServiceInterface in project googleads-java-lib by googleads.
the class UpdateForecastAdjustments method runExample.
/**
* Runs the example.
*
* @param adManagerServices the services factory.
* @param session the session.
* @param adjustmentId the ID of the adjustment 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 adjustmentId) throws RemoteException {
// Get the adjustment service.
AdjustmentServiceInterface adjustmentService = adManagerServices.get(session, AdjustmentServiceInterface.class);
// Create a statement to only select a single forecast adjustment by ID.
StatementBuilder statementBuilder = new StatementBuilder().where("id = :id").orderBy("id ASC").limit(1).withBindVariableValue("id", adjustmentId);
// Get the forecast adjustment.
ForecastAdjustmentPage page = adjustmentService.getForecastAdjustmentsByStatement(statementBuilder.toStatement());
ForecastAdjustment adjustment = Iterables.getOnlyElement(Arrays.asList(page.getResults()));
adjustment.setName(adjustment.getName() + " (updated)");
// Update the forecast adjustment on the server.
ForecastAdjustment[] adjustments = adjustmentService.updateForecastAdjustments(new ForecastAdjustment[] { adjustment });
for (ForecastAdjustment updatedAdjustment : adjustments) {
System.out.printf("Forecast adjustment with ID %d and name '%s' was updated.%n", updatedAdjustment.getId(), updatedAdjustment.getName());
}
}
use of com.google.api.ads.admanager.axis.v202205.AdjustmentServiceInterface in project googleads-java-lib by googleads.
the class GetAllTrafficForecastSegments 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 AdjustmentService.
AdjustmentServiceInterface adjustmentService = adManagerServices.get(session, AdjustmentServiceInterface.class);
// Create a statement to get all traffic forecast segments.
StatementBuilder statementBuilder = new StatementBuilder().orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get traffic forecast segments by statement.
TrafficForecastSegmentPage page = adjustmentService.getTrafficForecastSegmentsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (TrafficForecastSegment trafficForecastSegment : page.getResults()) {
System.out.printf("%d) Traffic forecast segment with ID %d and name '%s' was found.%n", i++, trafficForecastSegment.getId(), trafficForecastSegment.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.v202205.AdjustmentServiceInterface in project googleads-java-lib by googleads.
the class GetForecastAdjustmentsForTrafficForecastSegment 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, long trafficForecastSegmentId) throws RemoteException {
// Get the AdjustmentService.
AdjustmentServiceInterface adjustmentService = adManagerServices.get(session, AdjustmentServiceInterface.class);
// Create a statement to get all forecast adjustments.
StatementBuilder statementBuilder = new StatementBuilder().where("trafficForecastSegmentId = :trafficForecastSegmentId").orderBy("id ASC").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT).withBindVariableValue("trafficForecastSegmentId", trafficForecastSegmentId);
// Default for total result set size.
int totalResultSetSize = 0;
do {
// Get forecast adjustments by statement.
ForecastAdjustmentPage page = adjustmentService.getForecastAdjustmentsByStatement(statementBuilder.toStatement());
if (page.getResults() != null) {
totalResultSetSize = page.getTotalResultSetSize();
int i = page.getStartIndex();
for (ForecastAdjustment adjustment : page.getResults()) {
System.out.printf("%d) Forecast adjustment with ID %d and name '%s' belonging to the traffic forecast" + " segment %d was found.%n", i++, adjustment.getId(), adjustment.getName(), adjustment.getTrafficForecastSegmentId());
}
}
statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
} while (statementBuilder.getOffset() < totalResultSetSize);
System.out.printf("Number of results found: %d%n", totalResultSetSize);
}
Aggregations