CustomAudience


public final class CustomAudience
extends Object implements Parcelable

java.lang.Object
   ↳ android.adservices.customaudience.CustomAudience


Represents the information necessary for a custom audience to participate in ad selection.

A custom audience is an abstract grouping of users with similar demonstrated interests. This class is a collection of some data stored on a device that is necessary to serve advertisements targeting a single custom audience.

Summary

Nested classes

class CustomAudience.Builder

Builder for CustomAudience objects. 

Constants

int FLAG_AUCTION_SERVER_REQUEST_OMIT_ADS

This auction server request flag indicates to the service that ads for this CustomAudience can be omitted in the server auction payload.

Inherited constants

Fields

public static final Creator<CustomAudience> CREATOR

Public methods

boolean equals(Object o)

Checks whether two CustomAudience objects contain the same information.

Instant getActivationTime()

On creation of the CustomAudience object, an optional activation time may be set in the future, in order to serve a delayed activation.

List<AdData> getAds()

This list of AdData objects is a full and complete list of the ads that will be served by this CustomAudience during the ad selection process.

int getAuctionServerRequestFlags()

Returns the bitfield of auction server request flags.

Uri getBiddingLogicUri()

Returns the target URI used to fetch bidding logic when a custom audience participates in the ad selection process.

AdTechIdentifier getBuyer()

A buyer is identified by a domain in the form "buyerexample.com".

Uri getDailyUpdateUri()

This URI points to a buyer-operated server that hosts updated bidding data and ads metadata to be used in the on-device ad selection process.

Instant getExpirationTime()

Once the expiration time has passed, a custom audience is no longer eligible for daily ad/bidding data updates or participation in the ad selection process.

String getName()

The custom audience's name is an arbitrary string provided by the owner and buyer on creation of the CustomAudience object.

TrustedBiddingData getTrustedBiddingData()

Trusted bidding data consists of a URI pointing to a trusted server for buyers' bidding data and a list of keys to query the server with.

AdSelectionSignals getUserBiddingSignals()

User bidding signals are optionally provided by buyers to be consumed by buyer-provided JavaScript during ad selection in an isolated execution environment.

int hashCode()

Returns the hash of the CustomAudience object's data.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

FLAG_AUCTION_SERVER_REQUEST_OMIT_ADS

public static final int FLAG_AUCTION_SERVER_REQUEST_OMIT_ADS

This auction server request flag indicates to the service that ads for this CustomAudience can be omitted in the server auction payload.

Constant Value: 1 (0x00000001)

Fields

CREATOR

public static final Creator<CustomAudience> CREATOR

Public methods

equals

Added in API level 34
public boolean equals (Object o)

Checks whether two CustomAudience objects contain the same information.

Parameters
o Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getActivationTime

public Instant getActivationTime ()

On creation of the CustomAudience object, an optional activation time may be set in the future, in order to serve a delayed activation. If the field is not set, the CustomAudience will be activated at the time of joining.

For example, a custom audience for lapsed users may not activate until a threshold of inactivity is reached, at which point the custom audience's ads will participate in the ad selection process, potentially redirecting lapsed users to the original owner application.

The maximum delay in activation is 60 days from initial creation.

If specified, the activation time must be an earlier instant than the expiration time.

Returns
Instant the timestamp Instant, truncated to milliseconds, after which the custom audience is active This value may be null.

getAds

public List<AdData> getAds ()

This list of AdData objects is a full and complete list of the ads that will be served by this CustomAudience during the ad selection process.

If not specified, or if an empty list is provided, the CustomAudience will not participate in ad selection until a valid list of ads are provided via the daily update for the custom audience.

The combined ads size of the CA is limited and the sizes of each ad's string fields are considered using String#getBytes() in UTF-8 encoding.

Returns
List<AdData> a List of AdData objects representing ads currently served by the custom audience This value cannot be null.

getAuctionServerRequestFlags

public int getAuctionServerRequestFlags ()

Returns the bitfield of auction server request flags. These are flags that influence the creation of the payload generated by the AdSelectionManager.getAdSelectionData(GetAdSelectionDataRequest, Executor, OutcomeReceiver) API.

To create this bitfield, place an | bitwise operator between each ERROR(AuctionServerRequestFlag/android.adservices.customaudience.CustomAudience.AuctionServerRequestFlag AuctionServerRequestFlag) to be enabled.

Returns
int Value is either 0 or a combination of android.adservices.customaudience.CustomAudience.FLAG_AUCTION_SERVER_REQUEST_DEFAULT, and FLAG_AUCTION_SERVER_REQUEST_OMIT_ADS

getBiddingLogicUri

public Uri getBiddingLogicUri ()

Returns the target URI used to fetch bidding logic when a custom audience participates in the ad selection process. The URI must use HTTPS.

Returns
Uri the URI for fetching buyer bidding logic This value cannot be null.

getBuyer

public AdTechIdentifier getBuyer ()

A buyer is identified by a domain in the form "buyerexample.com".

Returns
AdTechIdentifier an AdTechIdentifier containing the custom audience's buyer's domain This value cannot be null.

getDailyUpdateUri

public Uri getDailyUpdateUri ()

This URI points to a buyer-operated server that hosts updated bidding data and ads metadata to be used in the on-device ad selection process. The URI must use HTTPS.

Returns
Uri the custom audience's daily update URI This value cannot be null.

getExpirationTime

public Instant getExpirationTime ()

Once the expiration time has passed, a custom audience is no longer eligible for daily ad/bidding data updates or participation in the ad selection process. The custom audience will then be deleted from memory by the next daily update.

If no expiration time is provided on creation of the CustomAudience, expiry will default to 60 days from activation.

The maximum expiry is 60 days from initial activation.

Returns
Instant the timestamp Instant, truncated to milliseconds, after which the custom audience should be removed This value may be null.

getName

public String getName ()

The custom audience's name is an arbitrary string provided by the owner and buyer on creation of the CustomAudience object.

The overall size of the CA is limited and the size of this field is considered using String#getBytes() in UTF-8 encoding.

Returns
String the String name of the custom audience This value cannot be null.

getTrustedBiddingData

public TrustedBiddingData getTrustedBiddingData ()

Trusted bidding data consists of a URI pointing to a trusted server for buyers' bidding data and a list of keys to query the server with. Note that the keys are arbitrary identifiers that will only be used to query the trusted server for a buyer's bidding logic during ad selection.

If not specified, the CustomAudience will not participate in ad selection until trusted bidding data are provided via the daily update for the custom audience.

Returns
TrustedBiddingData a TrustedBiddingData object containing the custom audience's trusted bidding data This value may be null.

getUserBiddingSignals

public AdSelectionSignals getUserBiddingSignals ()

User bidding signals are optionally provided by buyers to be consumed by buyer-provided JavaScript during ad selection in an isolated execution environment.

If the user bidding signals are not a valid JSON object that can be consumed by the buyer's JS, the custom audience will not be eligible for ad selection.

If not specified, the CustomAudience will not participate in ad selection until user bidding signals are provided via the daily update for the custom audience.

Returns
AdSelectionSignals an AdSelectionSignals object representing the user bidding signals for the custom audience This value may be null.

hashCode

Added in API level 34
public int hashCode ()

Returns the hash of the CustomAudience object's data.

Returns
int a hash code value for this object.

toString

Added in API level 34
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

Added in API level 34
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES