ContentRecommendation.Builder


public final class ContentRecommendation.Builder


Builder class for ContentRecommendation objects. Provides a convenient way to set the various fields of a ContentRecommendation.

Example:

ContentRecommendation rec = new ContentRecommendation.Builder()
        .setIdInfo(id, "MyTagId")
        .setTitle("My Content Recommendation")
        .setText("An example of content recommendation")
        .setContentImage(myBitmap)
        .setBadgeIcon(R.drawable.app_icon)
        .setGroup("Trending")
        .build();

Summary

Public constructors

Constructs a new Builder.

Public methods

ContentRecommendation

Combine all of the options that have been set and return a new ContentRecommendation object.

ContentRecommendation.Builder
setAutoDismiss(boolean autoDismiss)

Sets the flag indicating if the recommendation should be dismissed automatically.

ContentRecommendation.Builder

Sets the Content URI that will be used to retrieve the background image for the recommendation.

ContentRecommendation.Builder
setBadgeIcon(@DrawableRes int iconResourceId)

Sets the resource ID for the recommendation badging icon.

ContentRecommendation.Builder
setColor(@ColorInt int color)

Sets the accent color value to be used in the UI when displaying this content recommendation to the user.

ContentRecommendation.Builder

Sets the recommendation image.

ContentRecommendation.Builder
setContentIntentData(
    @ContentRecommendation.IntentType int intentType,
    Intent intent,
    int requestCode,
    @Nullable Bundle options
)

Sets the data for the Intent that will be issued when the user clicks on the recommendation.

ContentRecommendation.Builder
setContentTypes(String[] types)

Sets the content types associated with the content recommendation.

ContentRecommendation.Builder
setDismissIntentData(
    @ContentRecommendation.IntentType int intentType,
    @Nullable Intent intent,
    int requestCode,
    @Nullable Bundle options
)

Sets the data for the Intent that will be issued when the recommendation gets dismissed from the Home Screen, due to an user action.

ContentRecommendation.Builder
setGenres(String[] genres)

Sets the content genres for the recommendation.

ContentRecommendation.Builder

Sets the String group ID tag for the recommendation.

ContentRecommendation.Builder

Sets the Id tag that uniquely identifies this recommendation object.

ContentRecommendation.Builder

Sets the maturity level rating for the content.

ContentRecommendation.Builder

Sets the pricing and availability information for the recommendation.

ContentRecommendation.Builder
setProgress(int max, int progress)

Sets the progress information for the content pointed to by the recommendation.

ContentRecommendation.Builder
setRunningTime(long length)

Sets the running time (when applicable) for the content.

ContentRecommendation.Builder

Sets the String sort key for the recommendation.

ContentRecommendation.Builder

Sets the source application name for the recommendation.

ContentRecommendation.Builder

Sets the availability status for the content.

ContentRecommendation.Builder
setText(@Nullable String description)

Sets the description text for the recommendation.

ContentRecommendation.Builder

Sets the content title for the recommendation.

Public constructors

Builder

Added in 1.0.0
public Builder()

Constructs a new Builder.

Public methods

build

Added in 1.0.0
public ContentRecommendation build()

Combine all of the options that have been set and return a new ContentRecommendation object.

setAutoDismiss

Added in 1.0.0
public ContentRecommendation.Builder setAutoDismiss(boolean autoDismiss)

Sets the flag indicating if the recommendation should be dismissed automatically.

Auto-dismiss notifications are automatically removed from the Home Screen when the user clicks on them.

Parameters
boolean autoDismiss

A boolean indicating if the recommendation should be auto dismissed or not.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setBackgroundImageUri

Added in 1.0.0
public ContentRecommendation.Builder setBackgroundImageUri(@Nullable String imageUri)

Sets the Content URI that will be used to retrieve the background image for the recommendation.

Parameters
@Nullable String imageUri

A Content URI pointing to the recommendation background image.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setBadgeIcon

Added in 1.0.0
public ContentRecommendation.Builder setBadgeIcon(@DrawableRes int iconResourceId)

Sets the resource ID for the recommendation badging icon.

The resource id represents the icon resource in the source application package. If not set, or an invalid resource ID is specified, the application icon retrieved from its package will be used by default.

Parameters
@DrawableRes int iconResourceId

An integer id for the badge icon resource.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setColor

Added in 1.0.0
public ContentRecommendation.Builder setColor(@ColorInt int color)

Sets the accent color value to be used in the UI when displaying this content recommendation to the user.

Parameters
@ColorInt int color

An integer value representing the accent color for this recommendation.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setContentImage

Added in 1.0.0
public ContentRecommendation.Builder setContentImage(Bitmap image)

Sets the recommendation image.

Parameters
Bitmap image

A Bitmap containing the recommendation image.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setContentIntentData

Added in 1.0.0
public ContentRecommendation.Builder setContentIntentData(
    @ContentRecommendation.IntentType int intentType,
    Intent intent,
    int requestCode,
    @Nullable Bundle options
)

Sets the data for the Intent that will be issued when the user clicks on the recommendation.

The Intent data fields provided correspond to the fields passed into the PendingIntent factory methods, when creating a new PendingIntent. The actual PengindIntent object will only be created at the time a recommendation is posted to the Home Screen.

Parameters
@ContentRecommendation.IntentType int intentType

The type of PendingIntent to be created when posting this recommendation.

Intent intent

The Intent which to be issued when the recommendation is clicked on.

int requestCode

The private request code to be used when creating the PendingIntent

@Nullable Bundle options

Only used for the Activity Intent type. Additional options for how the Activity should be started. May be null if there are no options.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setContentTypes

Added in 1.0.0
public ContentRecommendation.Builder setContentTypes(String[] types)

Sets the content types associated with the content recommendation. The first tag entry will be considered the primary type for the content and will be used for ranking purposes. Other secondary type tags may be provided, if applicable, and may be used for filtering purposes.

Parameters
String[] types

Array of predefined type tags (see the CONTENT_TYPE_*constants) that describe the recommended content.

setDismissIntentData

Added in 1.0.0
public ContentRecommendation.Builder setDismissIntentData(
    @ContentRecommendation.IntentType int intentType,
    @Nullable Intent intent,
    int requestCode,
    @Nullable Bundle options
)

Sets the data for the Intent that will be issued when the recommendation gets dismissed from the Home Screen, due to an user action.

The Intent data fields provided correspond to the fields passed into the PendingIntent factory methods, when creating a new PendingIntent. The actual PengindIntent object will only be created at the time a recommendation is posted to the Home Screen.

Parameters
@ContentRecommendation.IntentType int intentType

The type of PendingIntent to be created when posting this recommendation.

@Nullable Intent intent

The Intent which gets issued when the recommendation is dismissed from the Home Screen.

int requestCode

The private request code to be used when creating the PendingIntent

@Nullable Bundle options

Only used for the Activity Intent type. Additional options for how the Activity should be started. May be null if there are no options.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setGenres

Added in 1.0.0
public ContentRecommendation.Builder setGenres(String[] genres)

Sets the content genres for the recommendation. These genres may be used for content ranking. Genres are open ended String tags.

Some examples: "comedy", "action", "dance", "electronica", "racing", etc.

Parameters
String[] genres

Array of genre string tags that describe the recommended content.

setGroup

Added in 1.0.0
public ContentRecommendation.Builder setGroup(@Nullable String groupTag)

Sets the String group ID tag for the recommendation.

Recommendations in the same group are ranked by the Home Screen together, and the sort order within a group is respected. This can be useful if the application has different sources for recommendations, like "trending", "subscriptions", and "new music" categories for YouTube, where the user can be more interested in recommendations from one group than another.

Parameters
@Nullable String groupTag

A String containing the group ID tag for this recommendation.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setIdTag

Added in 1.0.0
public ContentRecommendation.Builder setIdTag(String idTag)

Sets the Id tag that uniquely identifies this recommendation object.

Parameters
String idTag

A String tag identifier for this recommendation.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setMaturityRating

Added in 1.0.0
public ContentRecommendation.Builder setMaturityRating(
    @ContentRecommendation.ContentMaturity String maturityRating
)

Sets the maturity level rating for the content.

Parameters
@ContentRecommendation.ContentMaturity String maturityRating

A tag indicating the maturity level rating for the content. This tag must be one of the predefined maturity rating tags (see the CONTENT_MATURITY_* constants).

setPricingInformation

Added in 1.0.0
public ContentRecommendation.Builder setPricingInformation(
    @ContentRecommendation.ContentPricing String priceType,
    @Nullable String priceValue
)

Sets the pricing and availability information for the recommendation. The provided information will indicate the access model for the content (free, rental, purchase or subscription) and the price value (if not free).

Parameters
@ContentRecommendation.ContentPricing String priceType

Pricing type for this content. Must be one of the predefined pricing type tags (see the CONTENT_PRICING_* constants).

@Nullable String priceValue

A string containing a representation of the content price in the current locale and currency.

setProgress

Added in 1.0.0
public ContentRecommendation.Builder setProgress(int max, int progress)

Sets the progress information for the content pointed to by the recommendation.

Parameters
int max

The maximum value for the progress of this content.

int progress

The progress amount for this content. Must be in the range (0 - max).

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setRunningTime

Added in 1.0.0
public ContentRecommendation.Builder setRunningTime(long length)

Sets the running time (when applicable) for the content.

Parameters
long length

The running time, in seconds, of the content.

setSortKey

Added in 1.0.0
public ContentRecommendation.Builder setSortKey(@Nullable String sortKey)

Sets the String sort key for the recommendation.

The sort key must be a String representation of a float number between 0.0 and 1.0, and is used to indicate the relative importance (and sort order) of a single recommendation within its specified group. The recommendations will be ordered in decreasing order of importance within a given group.

Parameters
@Nullable String sortKey

A String containing the sort key for this recommendation.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setSourceName

Added in 1.0.0
public ContentRecommendation.Builder setSourceName(@Nullable String source)

Sets the source application name for the recommendation.

If the source name is never set, or set to null, the application name retrieved from its package will be used by default.

Parameters
@Nullable String source

A String containing the recommendation source name.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setStatus

Added in 1.0.0
public ContentRecommendation.Builder setStatus(@ContentRecommendation.ContentStatus int contentStatus)

Sets the availability status for the content. This status indicates whether the referred content is ready to be consumed on the device, or if the user must first purchase, rent, subscribe to, or download the content.

Parameters
@ContentRecommendation.ContentStatus int contentStatus

The status value for this content. Must be one of the predefined content status values (see the CONTENT_STATUS_* constants).

setText

Added in 1.0.0
public ContentRecommendation.Builder setText(@Nullable String description)

Sets the description text for the recommendation.

Parameters
@Nullable String description

A String containing the recommendation description text.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.

setTitle

Added in 1.0.0
public ContentRecommendation.Builder setTitle(String title)

Sets the content title for the recommendation.

Parameters
String title

A String containing the recommendation content title.

Returns
ContentRecommendation.Builder

The Builder object, for chaining.