This file defines the schema for the LISTEN vertical in the Engage SDK.
{
"client": "com.google.android.engage.service.AppEngagePublishClient",
"clusterTypes": [
"TYPE_RECOMMENDATION",
"TYPE_FEATURED",
"TYPE_CONTINUATION"
],
"entities": {
"MusicAlbumEntity": {
"package": "com.google.android.engage.audio.datamodel.MusicAlbumEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"songsCount": {
"type": "Integer",
"requirement": "Optional",
"setter": "setSongsCount(int)",
"getter": "getSongsCount()"
},
"releaseDateEpochMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setReleaseDateEpochMillis(long)",
"getter": "getReleaseDateEpochMillis()"
},
"durationMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"genres": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addGenre(String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"musicLabels": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addMusicLabel(String)",
"getter": "getMusicLabels()",
"adderAll": "addMusicLabels(List<String>)"
},
"artists": {
"type": "List<String>",
"requirement": "Required",
"adder": "addArtist(String)",
"getter": "getArtists()",
"adderAll": "addArtists(List<String>)"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"explicitContent": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setExplicitContent(boolean)",
"getter": "isExplicitContent()"
},
"musicAlbumType": {
"type": "@MusicAlbumType int",
"requirement": "Optional",
"setter": "setMusicAlbumType(@MusicAlbumType int)",
"getter": "getMusicAlbumType()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
},
"progressPercentComplete": {
"type": "Integer",
"requirement": "Optional",
"setter": "setProgressPercentComplete(int)",
"getter": "getProgressPercentComplete()"
}
}
},
"MusicTrackEntity": {
"package": "com.google.android.engage.audio.datamodel.MusicTrackEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"durationMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"album": {
"type": "String",
"requirement": "Optional",
"setter": "setAlbum(String)",
"getter": "getAlbum()"
},
"artists": {
"type": "List<String>",
"requirement": "Required",
"adder": "addArtist(String)",
"getter": "getArtists()",
"adderAll": "addArtists(List<String>)"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"explicitContent": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setExplicitContent(boolean)",
"getter": "isExplicitContent()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
},
"progressPercentComplete": {
"type": "Integer",
"requirement": "Optional",
"setter": "setProgressPercentComplete(int)",
"getter": "getProgressPercentComplete()"
}
}
},
"PodcastEpisodeEntity": {
"package": "com.google.android.engage.audio.datamodel.PodcastEpisodeEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"episodeIndex": {
"type": "Integer",
"requirement": "Optional",
"setter": "setEpisodeIndex(int)",
"getter": "getEpisodeIndex()"
},
"podcastSeriesTitle": {
"type": "String",
"requirement": "Required",
"setter": "setPodcastSeriesTitle(String)",
"getter": "getPodcastSeriesTitle()"
},
"productionName": {
"type": "String",
"requirement": "Required",
"setter": "setProductionName(String)",
"getter": "getProductionName()"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"durationMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"publishDateEpochMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setPublishDateEpochMillis(long)",
"getter": "getPublishDateEpochMillis()"
},
"genres": {
"type": "List<List<String>>",
"requirement": "Optional",
"adder": "addGenre(String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"hosts": {
"type": "List<List<String>>",
"requirement": "Optional",
"adder": "addHost(String)",
"getter": "getHosts()",
"adderAll": "addHosts(List<String>)"
},
"explicitContent": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setExplicitContent(boolean)",
"getter": "isExplicitContent()"
},
"listenNextType": {
"type": "Integer",
"requirement": "Optional",
"setter": "setListenNextType(int)",
"getter": "getListenNextType()"
},
"videoPodcast": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setVideoPodcast(boolean)",
"getter": "isVideoPodcast()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
},
"progressPercentComplete": {
"type": "Integer",
"requirement": "Optional",
"setter": "setProgressPercentComplete(int)",
"getter": "getProgressPercentComplete()"
}
}
},
"MusicVideoEntity": {
"package": "com.google.android.engage.audio.datamodel.MusicVideoEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"durationMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"viewCount": {
"type": "String",
"requirement": "Optional",
"setter": "setViewCount(String)",
"getter": "getViewCount()"
},
"artists": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addArtist(String)",
"getter": "getArtists()",
"adderAll": "addArtists(List<String>)"
},
"contentRatings": {
"type": "List<List<String>>",
"requirement": "Optional",
"adder": "addContentRating(String)",
"getter": "getContentRatings()",
"adderAll": "addContentRatings(List<String>)"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"explicitContent": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setExplicitContent(boolean)",
"getter": "isExplicitContent()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
},
"progressPercentComplete": {
"type": "Integer",
"requirement": "Optional",
"setter": "setProgressPercentComplete(int)",
"getter": "getProgressPercentComplete()"
}
}
},
"LiveRadioStationEntity": {
"package": "com.google.android.engage.audio.datamodel.LiveRadioStationEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
},
"radioFrequencyId": {
"type": "String",
"requirement": "Optional",
"setter": "setRadioFrequencyId(String)",
"getter": "getRadioFrequencyId()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"showTitle": {
"type": "String",
"requirement": "Optional",
"setter": "setShowTitle(String)",
"getter": "getShowTitle()"
},
"hosts": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addHost(String)",
"getter": "getHosts()",
"adderAll": "addHosts(List<String>)"
}
}
},
"GenericAudioEntity": {
"package": "com.google.android.engage.audio.datamodel.GenericAudioEntity",
"fields": {
"entityId": {
"requirement": "Optional",
"setter": "setEntityId(String)",
"type": "String",
"getter": "getEntityId()"
},
"name": {
"requirement": "Required",
"setter": "setName(String)",
"type": "String",
"getter": "getName()"
},
"posterImages": {
"requirement": "Required",
"adder": "addPosterImage(Image)",
"type": "List<Image>",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"actionUri": {
"requirement": "Required",
"setter": "setActionUri(Uri)",
"type": "Uri",
"getter": "getActionUri()"
},
"downloadedOnDevice": {
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"type": "Boolean",
"getter": "isDownloadedOnDevice()"
},
"explicitContent": {
"requirement": "Required",
"setter": "setExplicitContent(boolean)",
"type": "Boolean",
"getter": "isExplicitContent()"
},
"progressPercentComplete": {
"requirement": "Optional",
"setter": "setProgressPercentComplete(int)",
"type": "Integer",
"getter": "getProgressPercentComplete()"
},
"lastEngagementTimeMillis": {
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"type": "Long",
"getter": "getLastEngagementTimeMillis()"
},
"listenNextType": {
"requirement": "Optional",
"setter": "setListenNextType(@ListenNextType int)",
"type": "@ListenNextType int",
"getter": "getListenNextType()"
},
"price": {
"requirement": "Optional",
"setter": "setPrice(Price)",
"type": "Price",
"getter": "getPrice()"
},
"rating": {
"requirement": "Optional",
"setter": "setRating(Rating)",
"type": "Rating",
"getter": "getRating()"
},
"callout": {
"requirement": "Optional",
"setter": "setCallout(String)",
"type": "String",
"getter": "getCallout()"
},
"calloutFinePrint": {
"requirement": "Optional",
"setter": "setCalloutFinePrint(String)",
"type": "String",
"getter": "getCalloutFinePrint()"
},
"displayTimeWindows": {
"requirement": "Optional",
"adder": "addDisplayTimeWindow(DisplayTimeWindow)",
"type": "List<DisplayTimeWindow>",
"getter": "getDisplayTimeWindows()"
},
"allDisplayTimeWindows": {
"requirement": "Optional",
"adder": "addAllDisplayTimeWindow(DisplayTimeWindow)",
"type": "List<List<DisplayTimeWindow>>",
"adderAll": "addAllDisplayTimeWindow(List<DisplayTimeWindow>)"
},
"isBook": {
"requirement": "Optional",
"setter": "setIsBook(boolean)",
"type": "Boolean",
"getter": "isBook()"
},
"isTalk": {
"requirement": "Optional",
"setter": "setIsTalk(Boolean)",
"type": "Boolean",
"getter": "isTalk()"
},
"isVideoSupported": {
"requirement": "Optional",
"setter": "setIsVideoSupported(Boolean)",
"type": "Boolean",
"getter": "isVideoSupported()"
},
"isArtist": {
"requirement": "Optional",
"setter": "setIsArtist(Boolean)",
"type": "Boolean",
"getter": "isArtist()"
},
"subtitles": {
"requirement": "Optional",
"adder": "addSubtitle(String)",
"type": "List<String>",
"adderAll": "addSubtitles(List<String>)"
}
}
},
"PodcastSeriesEntity": {
"package": "com.google.android.engage.audio.datamodel.PodcastSeriesEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"episodeCount": {
"type": "Integer",
"requirement": "Optional",
"setter": "setEpisodeCount(int)",
"getter": "getEpisodeCount()"
},
"productionName": {
"type": "String",
"requirement": "Optional",
"setter": "setProductionName(String)",
"getter": "getProductionName()"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"genres": {
"type": "List<List<String>>",
"requirement": "Optional",
"adder": "addGenre(String)",
"getter": "getGenres()",
"adderAll": "addGenres(List<String>)"
},
"hosts": {
"type": "List<List<String>>",
"requirement": "Optional",
"adder": "addHost(String)",
"getter": "getHosts()",
"adderAll": "addHosts(List<String>)"
},
"explicitContent": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setExplicitContent(boolean)",
"getter": "isExplicitContent()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
}
}
},
"MusicArtistEntity": {
"package": "com.google.android.engage.audio.datamodel.MusicArtistEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
}
}
},
"PlaylistEntity": {
"package": "com.google.android.engage.audio.datamodel.PlaylistEntity",
"fields": {
"entityId": {
"type": "String",
"requirement": "Optional",
"setter": "setEntityId(String)",
"getter": "getEntityId()"
},
"name": {
"type": "String",
"requirement": "Required",
"setter": "setName(String)",
"getter": "getName()"
},
"posterImages": {
"type": "List<Image>",
"requirement": "Required",
"adder": "addPosterImage(Image)",
"getter": "getPosterImages()",
"adderAll": "addPosterImages(List<Image>)"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"playBackUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setPlayBackUri(Uri)",
"getter": "getPlayBackUri()"
},
"songsCount": {
"type": "Integer",
"requirement": "Required",
"setter": "setSongsCount(int)",
"getter": "getSongsCount()"
},
"durationMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setDurationMillis(long)",
"getter": "getDurationMillis()"
},
"infoPageUri": {
"type": "Uri",
"requirement": "Optional",
"setter": "setInfoPageUri(Uri)",
"getter": "getInfoPageUri()"
},
"downloadedOnDevice": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setDownloadedOnDevice(boolean)",
"getter": "isDownloadedOnDevice()"
},
"explicitContent": {
"type": "Boolean",
"requirement": "Optional",
"setter": "setExplicitContent(boolean)",
"getter": "isExplicitContent()"
},
"lastEngagementTimeMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastEngagementTimeMillis(long)",
"getter": "getLastEngagementTimeMillis()"
},
"progressPercentComplete": {
"type": "Integer",
"requirement": "Optional",
"setter": "setProgressPercentComplete(int)",
"getter": "getProgressPercentComplete()"
}
}
}
},
"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": {}
}