This file defines common data models and entities used across the Engage SDK.
{
"entities": {
"Image": {
"package": "com.google.android.engage.common.datamodel.Image",
"fields": {
"imageUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setImageUri(Uri)",
"getter": "getImageUri()"
},
"height": {
"type": "Integer",
"requirement": "Optional"
},
"width": {
"type": "Integer",
"requirement": "Optional"
},
"accessibilityText": {
"type": "String",
"requirement": "Required",
"setter": "setAccessibilityText(String)",
"getter": "getAccessibilityText()"
},
"theme": {
"type": "ImageThemeEnum",
"requirement": "Optional"
},
"cropType": {
"type": "ImageCropTypeEnum",
"requirement": "Optional"
},
"imageHeightInPixel": {
"requirement": "Required",
"setter": "setImageHeightInPixel(int)",
"type": "Integer",
"getter": "getImageHeightInPixel()"
},
"imageWidthInPixel": {
"requirement": "Required",
"setter": "setImageWidthInPixel(int)",
"type": "Integer",
"getter": "getImageWidthInPixel()"
},
"imageTheme": {
"requirement": "Optional",
"setter": "setImageTheme(@ImageTheme int)",
"type": "@ImageTheme int",
"getter": "getImageTheme()"
},
"imageCropType": {
"requirement": "Optional",
"setter": "setImageCropType(@ImageCropType int)",
"type": "@ImageCropType int",
"getter": "getImageCropType()"
}
}
},
"Price": {
"package": "com.google.android.engage.common.datamodel.Price",
"fields": {
"currentPrice": {
"type": "String",
"requirement": "Required",
"setter": "setCurrentPrice(String)",
"getter": "getCurrentPrice()"
},
"strikethroughPrice": {
"type": "String",
"requirement": "Optional",
"setter": "setStrikethroughPrice(String)",
"getter": "getStrikethroughPrice()"
}
}
},
"Rating": {
"package": "com.google.android.engage.common.datamodel.Rating",
"fields": {
"ratingValue": {
"type": "Float",
"requirement": "Required"
},
"maxValue": {
"type": "Double",
"requirement": "Required",
"setter": "setMaxValue(double)",
"getter": "getMaxValue()"
},
"ratingCount": {
"type": "Integer",
"requirement": "Optional"
},
"ratingCountValue": {
"type": "String",
"requirement": "Optional"
},
"currentValue": {
"requirement": "Required",
"setter": "setCurrentValue(double)",
"type": "Double",
"getter": "getCurrentValue()"
},
"count": {
"requirement": "Optional",
"setter": "setCount(String)",
"type": "String",
"getter": "getCount()"
},
"countValue": {
"requirement": "Optional",
"setter": "setCountValue(long)",
"type": "Long",
"getter": "getCountValue()"
}
}
},
"DisplayTimeWindow": {
"package": "com.google.android.engage.common.datamodel.DisplayTimeWindow",
"fields": {
"startTimeMillis": {
"type": "Long",
"requirement": "Required"
},
"endTimeMillis": {
"type": "Long",
"requirement": "Required"
},
"startTimestampMillis": {
"requirement": "Optional",
"setter": "setStartTimestampMillis(long)",
"type": "Long",
"getter": "getStartTimestampMillis()"
},
"endTimestampMillis": {
"requirement": "Optional",
"setter": "setEndTimestampMillis(long)",
"type": "Long",
"getter": "getEndTimestampMillis()"
}
}
},
"AccountProfile": {
"package": "com.google.android.engage.common.datamodel.AccountProfile",
"fields": {
"accountId": {
"type": "@NonNull String",
"requirement": "Required",
"setter": "setAccountId(@NonNull String)",
"getter": "getAccountId()"
},
"profileId": {
"type": "@NonNull String",
"requirement": "Optional",
"setter": "setProfileId(@NonNull String)",
"getter": "getProfileId()"
},
"accountName": {
"type": "String",
"requirement": "Optional"
},
"profileImage": {
"type": "Image",
"requirement": "Optional"
},
"locale": {
"requirement": "Optional",
"setter": "setLocale(@NonNull String)",
"type": "@NonNull String",
"getter": "getLocale()"
}
}
},
"Address": {
"package": "com.google.android.engage.common.datamodel.Address",
"fields": {
"city": {
"type": "@NonNull String",
"requirement": "Required",
"setter": "setCity(@NonNull String)",
"getter": "getCity()"
},
"country": {
"type": "@NonNull String",
"requirement": "Required",
"setter": "setCountry(@NonNull String)",
"getter": "getCountry()"
},
"displayAddress": {
"type": "@NonNull String",
"requirement": "Required",
"setter": "setDisplayAddress(@NonNull String)",
"getter": "getDisplayAddress()"
},
"streetAddress": {
"type": "String",
"requirement": "Optional",
"setter": "setStreetAddress(String)",
"getter": "getStreetAddress()"
},
"state": {
"type": "String",
"requirement": "Optional",
"setter": "setState(String)",
"getter": "getState()"
},
"zipCode": {
"type": "String",
"requirement": "Optional",
"setter": "setZipCode(String)",
"getter": "getZipCode()"
},
"neighborhood": {
"type": "String",
"requirement": "Optional",
"setter": "setNeighborhood(String)",
"getter": "getNeighborhood()"
}
}
},
"Badge": {
"package": "com.google.android.engage.common.datamodel.Badge",
"fields": {
"text": {
"type": "String",
"requirement": "Optional",
"setter": "setText(String)",
"getter": "getText()"
},
"image": {
"type": "Image",
"requirement": "Optional",
"setter": "setImage(Image)",
"getter": "getImage()"
}
}
},
"LocalizedTimestamp": {
"package": "com.google.android.engage.common.datamodel.LocalizedTimestamp",
"fields": {
"timestamp": {
"type": "Instant",
"requirement": "Required",
"setter": "setTimestamp(Instant)",
"getter": "getTimestamp()"
},
"timezone": {
"type": "DateTimeZone",
"requirement": "Required",
"setter": "setTimezone(DateTimeZone)",
"getter": "getTimezone()"
}
}
},
"SignInCardEntity": {
"package": "com.google.android.engage.common.datamodel.SignInCardEntity",
"fields": {
"actionText": {
"type": "String",
"requirement": "Required",
"setter": "setActionText(String)",
"getter": "getActionText()"
},
"actionUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setActionUri(Uri)",
"getter": "getActionUri()"
},
"title": {
"type": "String",
"requirement": "Optional",
"setter": "setTitle(String)",
"getter": "getTitle()"
},
"subtitle": {
"type": "String",
"requirement": "Optional",
"setter": "setSubtitle(String)",
"getter": "getSubtitle()"
},
"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>)"
}
}
},
"GenericFeaturedEntity": {
"package": "com.google.android.engage.common.datamodel.GenericFeaturedEntity",
"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>)"
},
"actionUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setActionUri(Uri)",
"getter": "getActionUri()"
},
"title": {
"type": "String",
"requirement": "Optional",
"setter": "setTitle(String)",
"getter": "getTitle()"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"subtitles": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addSubtitle(String)",
"adderAll": "addSubtitles(List<String>)"
},
"badges": {
"type": "List<Badge>",
"requirement": "Optional",
"adder": "addBadge(Badge)",
"adderAll": "addBadges(List<Badge>)"
},
"contentCategories": {
"type": "List<@EligibleContentCategory int>",
"requirement": "Optional",
"adder": "addContentCategory(@EligibleContentCategory int)",
"adderAll": "addContentCategories(List<Integer>)"
},
"displayTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addDisplayTimeWindow(DisplayTimeWindow)",
"getter": "getDisplayTimeWindows()"
},
"allDisplayTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllDisplayTimeWindow(DisplayTimeWindow)",
"adderAll": "addAllDisplayTimeWindow(List<DisplayTimeWindow>)"
}
}
},
"SubscriptionEntity": {
"package": "com.google.android.engage.common.datamodel.SubscriptionEntity",
"fields": {}
},
"UserSettingsCardEntity": {
"package": "com.google.android.engage.common.datamodel.UserSettingsCardEntity",
"fields": {
"actionText": {
"type": "String",
"requirement": "Required",
"setter": "setActionText(String)",
"getter": "getActionText()"
},
"actionUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setActionUri(Uri)",
"getter": "getActionUri()"
},
"title": {
"type": "String",
"requirement": "Optional",
"setter": "setTitle(String)",
"getter": "getTitle()"
},
"subtitle": {
"type": "String",
"requirement": "Optional",
"setter": "setSubtitle(String)",
"getter": "getSubtitle()"
},
"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>)"
}
}
},
"ArticleEntity": {
"package": "com.google.android.engage.common.datamodel.ArticleEntity",
"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>)"
},
"actionUri": {
"type": "Uri",
"requirement": "Required",
"setter": "setActionUri(Uri)",
"getter": "getActionUri()"
},
"title": {
"type": "String",
"requirement": "Optional",
"setter": "setTitle(String)",
"getter": "getTitle()"
},
"description": {
"type": "String",
"requirement": "Optional",
"setter": "setDescription(String)",
"getter": "getDescription()"
},
"subtitles": {
"type": "List<String>",
"requirement": "Optional",
"adder": "addSubtitle(String)",
"adderAll": "addSubtitles(List<String>)"
},
"badges": {
"type": "List<Badge>",
"requirement": "Optional",
"adder": "addBadge(Badge)",
"adderAll": "addBadges(List<Badge>)"
},
"contentCategories": {
"type": "List<@EligibleContentCategory int>",
"requirement": "Optional",
"adder": "addContentCategory(@EligibleContentCategory int)",
"adderAll": "addContentCategories(List<Integer>)"
},
"progressPercentage": {
"type": "Integer",
"requirement": "Required",
"setter": "setProgressPercentage(int)",
"getter": "getProgressPercentage()",
"requiredFor": [
"ContinuationCluster"
]
},
"lastEngagementTimestampMillis": {
"type": "Long",
"requirement": "Required",
"setter": "setLastEngagementTimestampMillis(long)",
"getter": "getLastEngagementTimestampMillis()",
"requiredFor": [
"ContinuationCluster"
]
},
"source": {
"type": "Badge",
"requirement": "Optional",
"setter": "setSource(Badge)",
"getter": "getSource()"
},
"lastContentPublishTimestampMillis": {
"type": "Long",
"requirement": "Optional",
"setter": "setLastContentPublishTimestampMillis(Long)",
"getter": "getLastContentPublishTimestampMillis()"
},
"displayTimeWindows": {
"type": "List<DisplayTimeWindow>",
"requirement": "Optional",
"adder": "addDisplayTimeWindow(DisplayTimeWindow)",
"getter": "getDisplayTimeWindows()"
},
"allDisplayTimeWindows": {
"type": "List<List<DisplayTimeWindow>>",
"requirement": "Optional",
"adder": "addAllDisplayTimeWindow(DisplayTimeWindow)",
"adderAll": "addAllDisplayTimeWindow(List<DisplayTimeWindow>)"
}
}
}
},
"intents": {
"ACTION_PUBLISH_RECOMMENDATION": "com.google.android.engage.action.PUBLISH_RECOMMENDATION",
"ACTION_PUBLISH_FEATURED": "com.google.android.engage.action.PUBLISH_FEATURED",
"ACTION_PUBLISH_CONTINUATION": "com.google.android.engage.action.PUBLISH_CONTINUATION"
},
"imports": [
"com.google.android.engage.service.AppEngagePublishClient",
"com.google.android.engage.service.AppEngageErrorCode",
"com.google.android.engage.service.AppEngageException",
"com.google.android.engage.service.AppEngagePublishStatusCode"
]
}