private static final String AUDIENCE_SEGMENT_ID = "INSERT_AUDIENCE_SEGMENT_ID_HERE";
public static void runExample(DfpServices dfpServices, DfpSession session,
long audienceSegmentId) throws Exception {
// Get the AudienceSegmentService.
AudienceSegmentServiceInterface audienceSegmentService =
dfpServices.get(session, AudienceSegmentServiceInterface.class);
// Create a statement to only select a specified first party audience
// segment.
StatementBuilder statementBuilder = new StatementBuilder()
.where("WHERE id = :audienceSegmentId and type = :type")
.orderBy("id ASC")
.limit(1)
.withBindVariableValue("audienceSegmentId", audienceSegmentId)
.withBindVariableValue("type", "FIRST_PARTY");
// Get the audience segment.
RuleBasedFirstPartyAudienceSegment audienceSegment =
(RuleBasedFirstPartyAudienceSegment) audienceSegmentService
.getAudienceSegmentsByStatement(statementBuilder.toStatement()).getResults()[0];
// Update the member expiration days.
audienceSegment.setMembershipExpirationDays(180);
// Update the audience segment on the server.
AudienceSegment[] audienceSegments = audienceSegmentService.updateAudienceSegments(
new FirstPartyAudienceSegment[] {audienceSegment});
for (AudienceSegment updatedAudienceSegment : audienceSegments) {
System.out.printf(
"Audience segment with ID \"%d\" and name \"%s\" was updated.\n",