ContentRecommendation.Builder

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 functions

ContentRecommendation!

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

ContentRecommendation.Builder!
setAutoDismiss(autoDismiss: Boolean)

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(iconResourceId: @DrawableRes Int)

Sets the resource ID for the recommendation badging icon.

ContentRecommendation.Builder!

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 intentType: Int,
    intent: Intent!,
    requestCode: Int,
    options: Bundle?
)

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

ContentRecommendation.Builder!

Sets the content types associated with the content recommendation.

ContentRecommendation.Builder!
setDismissIntentData(
    @ContentRecommendation.IntentType intentType: Int,
    intent: Intent?,
    requestCode: Int,
    options: Bundle?
)

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(genres: Array<String!>!)

Sets the content genres for the recommendation.

ContentRecommendation.Builder!
setGroup(groupTag: String?)

Sets the String group ID tag for the recommendation.

ContentRecommendation.Builder!
setIdTag(idTag: String!)

Sets the Id tag that uniquely identifies this recommendation object.

ContentRecommendation.Builder!

Sets the maturity level rating for the content.

ContentRecommendation.Builder!
setPricingInformation(
    @ContentRecommendation.ContentPricing priceType: String!,
    priceValue: String?
)

Sets the pricing and availability information for the recommendation.

ContentRecommendation.Builder!
setProgress(max: Int, progress: Int)

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

ContentRecommendation.Builder!

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

ContentRecommendation.Builder!
setSortKey(sortKey: String?)

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(description: String?)

Sets the description text for the recommendation.

ContentRecommendation.Builder!
setTitle(title: String!)

Sets the content title for the recommendation.

Public constructors

Builder

Added in 1.0.0
Builder()

Constructs a new Builder.

Public functions

build

Added in 1.0.0
fun build(): ContentRecommendation!

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

setAutoDismiss

Added in 1.0.0
fun setAutoDismiss(autoDismiss: Boolean): ContentRecommendation.Builder!

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
autoDismiss: Boolean

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
fun setBackgroundImageUri(imageUri: String?): ContentRecommendation.Builder!

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

Parameters
imageUri: String?

A Content URI pointing to the recommendation background image.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setBadgeIcon

Added in 1.0.0
fun setBadgeIcon(iconResourceId: @DrawableRes Int): ContentRecommendation.Builder!

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
iconResourceId: @DrawableRes Int

An integer id for the badge icon resource.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setColor

Added in 1.0.0
fun setColor(color: @ColorInt Int): ContentRecommendation.Builder!

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

Parameters
color: @ColorInt Int

An integer value representing the accent color for this recommendation.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setContentImage

Added in 1.0.0
fun setContentImage(image: Bitmap!): ContentRecommendation.Builder!

Sets the recommendation image.

Parameters
image: Bitmap!

A Bitmap containing the recommendation image.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setContentIntentData

Added in 1.0.0
fun setContentIntentData(
    @ContentRecommendation.IntentType intentType: Int,
    intent: Intent!,
    requestCode: Int,
    options: Bundle?
): ContentRecommendation.Builder!

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 intentType: Int

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.

requestCode: Int

The private request code to be used when creating the PendingIntent

options: Bundle?

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
fun setContentTypes(types: Array<String!>!): ContentRecommendation.Builder!

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
types: Array<String!>!

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

setDismissIntentData

Added in 1.0.0
fun setDismissIntentData(
    @ContentRecommendation.IntentType intentType: Int,
    intent: Intent?,
    requestCode: Int,
    options: Bundle?
): ContentRecommendation.Builder!

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 intentType: Int

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

intent: Intent?

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

requestCode: Int

The private request code to be used when creating the PendingIntent

options: Bundle?

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
fun setGenres(genres: Array<String!>!): ContentRecommendation.Builder!

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
genres: Array<String!>!

Array of genre string tags that describe the recommended content.

setGroup

Added in 1.0.0
fun setGroup(groupTag: String?): ContentRecommendation.Builder!

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
groupTag: String?

A String containing the group ID tag for this recommendation.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setIdTag

Added in 1.0.0
fun setIdTag(idTag: String!): ContentRecommendation.Builder!

Sets the Id tag that uniquely identifies this recommendation object.

Parameters
idTag: String!

A String tag identifier for this recommendation.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setMaturityRating

Added in 1.0.0
fun setMaturityRating(
    @ContentRecommendation.ContentMaturity maturityRating: String!
): ContentRecommendation.Builder!

Sets the maturity level rating for the content.

Parameters
@ContentRecommendation.ContentMaturity maturityRating: String!

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
fun setPricingInformation(
    @ContentRecommendation.ContentPricing priceType: String!,
    priceValue: String?
): ContentRecommendation.Builder!

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 priceType: String!

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

priceValue: String?

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

setProgress

Added in 1.0.0
fun setProgress(max: Int, progress: Int): ContentRecommendation.Builder!

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

Parameters
max: Int

The maximum value for the progress of this content.

progress: Int

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
fun setRunningTime(length: Long): ContentRecommendation.Builder!

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

Parameters
length: Long

The running time, in seconds, of the content.

setSortKey

Added in 1.0.0
fun setSortKey(sortKey: String?): ContentRecommendation.Builder!

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
sortKey: String?

A String containing the sort key for this recommendation.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setSourceName

Added in 1.0.0
fun setSourceName(source: String?): ContentRecommendation.Builder!

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
source: String?

A String containing the recommendation source name.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setStatus

Added in 1.0.0
fun setStatus(@ContentRecommendation.ContentStatus contentStatus: Int): ContentRecommendation.Builder!

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 contentStatus: Int

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
fun setText(description: String?): ContentRecommendation.Builder!

Sets the description text for the recommendation.

Parameters
description: String?

A String containing the recommendation description text.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.

setTitle

Added in 1.0.0
fun setTitle(title: String!): ContentRecommendation.Builder!

Sets the content title for the recommendation.

Parameters
title: String!

A String containing the recommendation content title.

Returns
ContentRecommendation.Builder!

The Builder object, for chaining.