This file defines the schema for the TV vertical in the Engage SDK.
{
"client": "com.google.android.engage.service.AppEngagePublishClient",
"clusterTypes": [
"TYPE_RECOMMENDATION",
"TYPE_FEATURED",
"TYPE_CONTINUATION",
"TYPE_SUBSCRIPTION",
"TYPE_ENGAGEMENT"
],
"entities": {
"MovieEntity": {
"package": "com.google.android.engage.video.datamodel.MovieEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"watchNextType": {
"type": "@WatchNextType int",
"requirement": "Optional",
"setter": "setWatchNextType(@WatchNextType int)",
"getter": "getWatchNextType()",
"requiredFor": [
"ContinuationCluster"
]
},
"lastPlayBackPositionTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastPlayBackPositionTimeMillis(long)",
"getter": "getLastPlayBackPositionTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"availabilityTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
"getter": "getAvailabilityTimeWindows()"
},
"allAvailabilityTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
"adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"releaseDateEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setReleaseDateEpochMillis(long)",
"getter": "getReleaseDateEpochMillis()"
},
"availability": {
"type": "@ContentAvailability int",
"requirement": "Required",
"setter": "setAvailability(@ContentAvailability int)",
"getter": "getAvailability()"
},
"durationMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"genres": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addGenre(String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"contentRatings": {
"type": "List<String>",
"requirement": "Required",
"adder": "addContentRating(RatingSystem)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<RatingSystem>)"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"price": {
"type": "Price",
"requirement": "Optional",
"setter": "setPrice(Price)",
"getter": "getPrice()"
},
"platformSpecificPlaybackUris": {
"type": "List<PlatformSpecificUri>",
"requirement": "Optional",
"adder": "addPlatformSpecificPlaybackUri(PlatformSpecificUri)",
"getter": "getPlatformSpecificPlaybackUris()",
"adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
},
"recommendationReason": {
"type": "@NonNull RecommendationReason",
"requirement": "Optional",
"setter": "setRecommendationReason(@NonNull RecommendationReason)",
"getter": "getRecommendationReason()"
},
"description": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setDescription(@NonNull String)",
"getter": "getDescription()"
},
"contentRatingsLegacies": {
"requirement": "Required",
"adder": "addContentRatingsLegacy(String)",
"type": "List<List<String>>",
"getter": "getContentRatingsLegacy()",
"adderAll": "addContentRatingsLegacy(List<String>)"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"TvShowEntity": {
"package": "com.google.android.engage.video.datamodel.TvShowEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"watchNextType": {
"type": "@WatchNextType int",
"requirement": "Optional",
"setter": "setWatchNextType(@WatchNextType int)",
"getter": "getWatchNextType()",
"requiredFor": [
"ContinuationCluster"
]
},
"lastPlayBackPositionTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastPlayBackPositionTimeMillis(long)",
"getter": "getLastPlayBackPositionTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"availabilityTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
"getter": "getAvailabilityTimeWindows()"
},
"allAvailabilityTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
"adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"firstEpisodeAirDateEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setFirstEpisodeAirDateEpochMillis(long)",
"getter": "getFirstEpisodeAirDateEpochMillis()"
},
"latestEpisodeAirDateEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLatestEpisodeAirDateEpochMillis(long)",
"getter": "getLatestEpisodeAirDateEpochMillis()"
},
"availability": {
"type": "@ContentAvailability int",
"requirement": "Required",
"setter": "setAvailability(@ContentAvailability int)",
"getter": "getAvailability()"
},
"seasonCount": {
"type": "Integer",
"requirement": "Required",
"setter": "setSeasonCount(int)",
"getter": "getSeasonCount()"
},
"genres": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addGenre(String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"contentRatings": {
"type": "List<String>",
"requirement": "Required",
"adder": "addContentRating(RatingSystem)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<RatingSystem>)"
},
"price": {
"type": "Price",
"requirement": "Optional",
"setter": "setPrice(Price)",
"getter": "getPrice()"
},
"platformSpecificPlaybackUris": {
"type": "List<PlatformSpecificUri>",
"requirement": "Required",
"adder": "addPlatformSpecificPlaybackUri(PlatformSpecificUri)",
"getter": "getPlatformSpecificPlaybackUris()",
"adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
},
"recommendationReason": {
"type": "@NonNull RecommendationReason",
"requirement": "Optional",
"setter": "setRecommendationReason(@NonNull RecommendationReason)",
"getter": "getRecommendationReason()"
},
"description": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setDescription(@NonNull String)",
"getter": "getDescription()"
},
"contentRatingsLegacies": {
"requirement": "Required",
"adder": "addContentRatingsLegacy(String)",
"type": "List<List<String>>",
"getter": "getContentRatingsLegacy()",
"adderAll": "addContentRatingsLegacy(List<String>)"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"TvSeasonEntity": {
"package": "com.google.android.engage.video.datamodel.TvSeasonEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"watchNextType": {
"type": "@WatchNextType int",
"requirement": "Optional",
"setter": "setWatchNextType(@WatchNextType int)",
"getter": "getWatchNextType()",
"requiredFor": [
"ContinuationCluster"
]
},
"lastPlayBackPositionTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastPlayBackPositionTimeMillis(long)",
"getter": "getLastPlayBackPositionTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"availabilityTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
"getter": "getAvailabilityTimeWindows()"
},
"allAvailabilityTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
"adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"seasonNumber": {
"type": "Integer",
"requirement": "Required",
"setter": "setSeasonNumber(int)"
},
"seasonDisplayNumber": {
"type": "String",
"requirement": "Required",
"setter": "setSeasonDisplayNumber(String)",
"getter": "getSeasonDisplayNumber()"
},
"firstEpisodeAirDateEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setFirstEpisodeAirDateEpochMillis(long)",
"getter": "getFirstEpisodeAirDateEpochMillis()"
},
"latestEpisodeAirDateEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLatestEpisodeAirDateEpochMillis(long)",
"getter": "getLatestEpisodeAirDateEpochMillis()"
},
"availability": {
"type": "@ContentAvailability int",
"requirement": "Required",
"setter": "setAvailability(@ContentAvailability int)",
"getter": "getAvailability()"
},
"episodeCount": {
"type": "Integer",
"requirement": "Required",
"setter": "setEpisodeCount(int)",
"getter": "getEpisodeCount()"
},
"genres": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addGenre(String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"contentRatings": {
"type": "List<String>",
"requirement": "Required",
"adder": "addContentRating(RatingSystem)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<RatingSystem>)"
},
"price": {
"type": "Price",
"requirement": "Optional",
"setter": "setPrice(Price)",
"getter": "getPrice()"
},
"contentRatingsLegacies": {
"requirement": "Required",
"adder": "addContentRatingsLegacy(String)",
"type": "List<List<String>>",
"getter": "getContentRatingsLegacy()",
"adderAll": "addContentRatingsLegacy(List<String>)"
}
}
},
"TvEpisodeEntity": {
"package": "com.google.android.engage.video.datamodel.TvEpisodeEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"watchNextType": {
"type": "@WatchNextType int",
"requirement": "Optional",
"setter": "setWatchNextType(@WatchNextType int)",
"getter": "getWatchNextType()",
"requiredFor": [
"ContinuationCluster"
]
},
"lastPlayBackPositionTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastPlayBackPositionTimeMillis(long)",
"getter": "getLastPlayBackPositionTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"availabilityTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
"getter": "getAvailabilityTimeWindows()"
},
"allAvailabilityTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
"adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"episodeNumber": {
"type": "Integer",
"requirement": "Required",
"setter": "setEpisodeNumber(int)"
},
"episodeDisplayNumber": {
"type": "String",
"requirement": "Required",
"setter": "setEpisodeDisplayNumber(String)",
"getter": "getEpisodeDisplayNumber()"
},
"airDateEpochMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setAirDateEpochMillis(long)",
"getter": "getAirDateEpochMillis()"
},
"availability": {
"type": "@ContentAvailability int",
"requirement": "Required",
"setter": "setAvailability(@ContentAvailability int)",
"getter": "getAvailability()"
},
"genres": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addGenre(String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"contentRatings": {
"type": "List<String>",
"requirement": "Required",
"adder": "addContentRating(RatingSystem)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<RatingSystem>)"
},
"durationMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"seasonNumber": {
"type": "String",
"requirement": "Optional",
"setter": "setSeasonNumber(String)",
"getter": "getSeasonNumber()"
},
"seasonTitle": {
"type": "String",
"requirement": "Optional",
"setter": "setSeasonTitle(String)",
"getter": "getSeasonTitle()"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"price": {
"type": "Price",
"requirement": "Optional",
"setter": "setPrice(Price)",
"getter": "getPrice()"
},
"showTitle": {
"type": "String",
"requirement": "Optional",
"setter": "setShowTitle(String)",
"getter": "getShowTitle()"
},
"isNextEpisodeAvailable": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setIsNextEpisodeAvailable(boolean)",
"getter": "getIsNextEpisodeAvailable()"
},
"platformSpecificPlaybackUris": {
"type": "List<PlatformSpecificUri>",
"requirement": "Optional",
"adder": "addPlatformSpecificPlaybackUri(PlatformSpecificUri)",
"getter": "getPlatformSpecificPlaybackUris()",
"adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
},
"contentRatingsLegacies": {
"requirement": "Required",
"adder": "addContentRatingsLegacy(String)",
"type": "List<List<String>>",
"getter": "getContentRatingsLegacy()",
"adderAll": "addContentRatingsLegacy(List<String>)"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"MediaActionFeedEntity": {
"package": "com.google.android.engage.video.datamodel.MediaActionFeedEntity",
"fields": {
"dataFeedElementId": {
"type": "@NonNull String",
"requirement": "Required",
"setter": "setDataFeedElementId(@NonNull String)",
"getter": "getDataFeedElementId()"
},
"name": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setName(@NonNull String)",
"getter": "getName()"
},
"recommendationReason": {
"type": "@NonNull RecommendationReason",
"requirement": "Optional",
"setter": "setRecommendationReason(@NonNull RecommendationReason)",
"getter": "getRecommendationReason()"
},
"description": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setDescription(@NonNull String)",
"getter": "getDescription()"
},
"posterImages": {
"type": "List<List<Image>>",
"requirement": "Optional",
"adder": "addPosterImage(@NonNull Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"LiveTvProgramEntity": {
"package": "com.google.android.engage.video.datamodel.LiveTvProgramEntity",
"fields": {
"channelId": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setChannelId(@NonNull String)",
"getter": "getChannelId()"
},
"channelName": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setChannelName(@NonNull String)",
"getter": "getChannelName()"
},
"channelLogoImage": {
"type": "@NonNull Image",
"requirement": "Optional",
"setter": "setChannelLogoImage(@NonNull Image)",
"getter": "getChannelLogoImage()"
},
"platformSpecificPlaybackUris": {
"type": "List<@NonNull PlatformSpecificUri>",
"requirement": "Optional",
"adder": "addPlatformSpecificPlaybackUri(@NonNull PlatformSpecificUri)",
"getter": "getPlatformSpecificPlaybackUris()",
"adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
},
"contentRatings": {
"type": "List<@NonNull RatingSystem>",
"requirement": "Optional",
"adder": "addContentRating(@NonNull RatingSystem)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<RatingSystem>)"
},
"genres": {
"type": "List<@NonNull String>",
"requirement": "Optional",
"adder": "addGenre(@NonNull String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"availabilityTimeWindows": {
"type": "List<@NonNull DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addAvailabilityTimeWindow(@NonNull DisplayTimeWindow)",
"getter": "getAvailabilityTimeWindows()",
"adderAll": "addAvailabilityTimeWindows(List<DisplayTimeWindow>)"
},
"posterImages": {
"type": "List<@NonNull Image>",
"requirement": "Optional",
"adder": "addPosterImage(@NonNull Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"recommendationReason": {
"type": "@NonNull RecommendationReason",
"requirement": "Optional",
"setter": "setRecommendationReason(@NonNull RecommendationReason)",
"getter": "getRecommendationReason()"
},
"description": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setDescription(@NonNull String)",
"getter": "getDescription()"
},
"entityId": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setEntityId(@NonNull String)",
"getter": "getEntityId()"
},
"name": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setName(@NonNull String)",
"getter": "getName()"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"LiveStreamingVideoEntity": {
"package": "com.google.android.engage.video.datamodel.LiveStreamingVideoEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"watchNextType": {
"type": "@WatchNextType int",
"requirement": "Optional",
"setter": "setWatchNextType(@WatchNextType int)",
"getter": "getWatchNextType()",
"requiredFor": [
"ContinuationCluster"
]
},
"lastPlayBackPositionTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastPlayBackPositionTimeMillis(long)",
"getter": "getLastPlayBackPositionTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"availabilityTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
"getter": "getAvailabilityTimeWindows()"
},
"allAvailabilityTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
"adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"startTimeEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setStartTimeEpochMillis(long)",
"getter": "getStartTimeEpochMillis()"
},
"endTimeEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setEndTimeEpochMillis(long)",
"getter": "getEndTimeEpochMillis()"
},
"broadcaster": {
"type": "String",
"requirement": "Required",
"setter": "setBroadcaster(String)",
"getter": "getBroadcaster()"
},
"viewCount": {
"type": "String",
"requirement": "Optional",
"setter": "setViewCount(String)",
"getter": "getViewCount()"
},
"broadcasterIcon": {
"type": "Image",
"requirement": "Optional",
"setter": "setBroadcasterIcon(Image)",
"getter": "getBroadcasterIcon()"
},
"platformSpecificPlaybackUris": {
"type": "List<PlatformSpecificUri>",
"requirement": "Optional",
"adder": "addPlatformSpecificPlaybackUri(PlatformSpecificUri)",
"getter": "getPlatformSpecificPlaybackUris()",
"adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
},
"description": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setDescription(@NonNull String)",
"getter": "getDescription()"
},
"genres": {
"type": "List<@NonNull String>",
"requirement": "Optional",
"adder": "addGenre(@NonNull String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"contentRatings": {
"type": "List<@NonNull RatingSystem>",
"requirement": "Optional",
"adder": "addContentRating(@NonNull RatingSystem)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<RatingSystem>)"
},
"recommendationReason": {
"type": "@NonNull RecommendationReason",
"requirement": "Optional",
"setter": "setRecommendationReason(@NonNull RecommendationReason)",
"getter": "getRecommendationReason()"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"LiveTvChannelEntity": {
"package": "com.google.android.engage.video.datamodel.LiveTvChannelEntity",
"fields": {
"entityId": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setEntityId(@NonNull String)",
"getter": "getEntityId()"
},
"name": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setName(@NonNull String)",
"getter": "getName()"
},
"description": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setDescription(@NonNull String)",
"getter": "getDescription()"
},
"logoImage": {
"type": "@NonNull Image",
"requirement": "Optional",
"setter": "setLogoImage(@NonNull Image)",
"getter": "getLogoImage()"
},
"contentRatings": {
"type": "List<@NonNull RatingSystem>",
"requirement": "Optional",
"adder": "addContentRating(@NonNull RatingSystem)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<RatingSystem>)"
},
"platformSpecificPlaybackUris": {
"type": "List<@NonNull PlatformSpecificUri>",
"requirement": "Optional",
"adder": "addPlatformSpecificPlaybackUri(@NonNull PlatformSpecificUri)",
"getter": "getPlatformSpecificPlaybackUris()",
"adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
},
"recommendationReason": {
"type": "@NonNull RecommendationReason",
"requirement": "Optional",
"setter": "setRecommendationReason(@NonNull RecommendationReason)",
"getter": "getRecommendationReason()"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"VideoClipEntity": {
"package": "com.google.android.engage.video.datamodel.VideoClipEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"watchNextType": {
"type": "@WatchNextType int",
"requirement": "Optional",
"setter": "setWatchNextType(@WatchNextType int)",
"getter": "getWatchNextType()",
"requiredFor": [
"ContinuationCluster"
]
},
"lastPlayBackPositionTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastPlayBackPositionTimeMillis(long)",
"getter": "getLastPlayBackPositionTimeMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"availabilityTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
"getter": "getAvailabilityTimeWindows()"
},
"allAvailabilityTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
"adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"createdTimeEpochMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setCreatedTimeEpochMillis(long)",
"getter": "getCreatedTimeEpochMillis()"
},
"durationMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"creator": {
"type": "String",
"requirement": "Required",
"setter": "setCreator(String)",
"getter": "getCreator()"
},
"creatorImage": {
"type": "Image",
"requirement": "Optional",
"setter": "setCreatorImage(Image)",
"getter": "getCreatorImage()"
},
"viewCount": {
"type": "String",
"requirement": "Optional",
"setter": "setViewCount(String)",
"getter": "getViewCount()"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"platformSpecificPlaybackUris": {
"type": "List<PlatformSpecificUri>",
"requirement": "Optional",
"adder": "addPlatformSpecificPlaybackUri(PlatformSpecificUri)",
"getter": "getPlatformSpecificPlaybackUris()",
"adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
},
"callToActionText": {
"requirement": "Optional",
"setter": "setCallToActionText(@NonNull String)",
"type": "@NonNull String",
"getter": "getCallToActionText()"
},
"tags": {
"requirement": "Optional",
"adder": "addTag(@NonNull String)",
"type": "List<@NonNull String>",
"adderAll": "addTags(List<String>)",
"getter": "getTags()"
}
}
},
"RatingSystem": {
"package": "com.google.android.engage.video.datamodel.RatingSystem",
"fields": {
"rating": {
"type": "@NonNull String",
"requirement": "Required",
"setter": "setRating(@NonNull String)",
"getter": "getRating()"
},
"agencyName": {
"type": "@NonNull String",
"requirement": "Required",
"setter": "setAgencyName(@NonNull String)",
"getter": "getAgencyName()"
}
}
},
"PlatformSpecificUri": {
"package": "com.google.android.engage.common.datamodel.PlatformSpecificUri",
"fields": {
"platformType": {
"type": "@PlatformType int",
"requirement": "Required",
"setter": "setPlatformType(@PlatformType int)",
"getter": "getPlatformType()"
},
"actionUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setActionUri(Uri)",
"getter": "getActionUri()"
}
}
},
"SubscriptionEntitlement": {
"package": "com.google.android.engage.common.datamodel.SubscriptionEntitlement",
"fields": {
"entitlementId": {
"type": "String",
"requirement": "Required",
"setter": "setEntitlementId(String)",
"getter": "getEntitlementId()"
},
"displayName": {
"type": "String",
"requirement": "Optional",
"setter": "setDisplayName(String)",
"getter": "getDisplayName()"
},
"expirationTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setExpirationTimeMillis(long)",
"getter": "getExpirationTimeMillis()"
}
}
},
"BundledSubscription": {
"package": "com.google.android.engage.common.datamodel.BundledSubscription",
"fields": {
"bundledSubscriptionProviderPackageName": {
"type": "String",
"requirement": "Optional",
"setter": "setBundledSubscriptionProviderPackageName(String)",
"getter": "getBundledSubscriptionProviderPackageName()"
},
"subscriptionType": {
"type": "@SubscriptionType int",
"requirement": "Optional",
"setter": "setSubscriptionType(@SubscriptionType int)",
"getter": "getSubscriptionType()"
},
"expirationTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setExpirationTimeMillis(long)",
"getter": "getExpirationTimeMillis()"
},
"entitlements": {
"type": "List<SubscriptionEntitlement>",
"requirement": "Optional",
"adder": "addEntitlement(SubscriptionEntitlement)",
"getter": "getEntitlements()",
"adderAll": "addEntitlements(List<SubscriptionEntitlement>)"
}
}
}
},
"methods": {
"isServiceAvailable": null,
"publishRecommendationClusters": "PublishRecommendationClustersRequest",
"publishFeaturedCluster": "PublishFeaturedClusterRequest",
"publishContinuationCluster": "PublishContinuationClusterRequest",
"publishSubscription": "PublishSubscriptionRequest",
"publishUserAccountManagementRequest": "PublishUserAccountManagementRequest",
"updatePublishStatus": "PublishStatusRequest",
"deleteRecommendationsClusters": "DeleteClustersRequest",
"deleteFeaturedCluster": "DeleteClustersRequest",
"deleteContinuationCluster": "DeleteClustersRequest",
"deleteSubscription": "DeleteClustersRequest",
"deleteUserManagementCluster": "DeleteClustersRequest"
},
"intents": {}
}