All experiences inherit from the base class, Experience. Currently, there are six experience types: Video, Image, Html, Url, Alert, and Custom. Experiences are created in the ExtremeLocation UI. The properties for the Experience base class and each subclass are described below. You could use the properties however you like. Depending on how you configure your experiences in the ExtremeLocation UI, you may not populate data for all of the properties. In this case, remember to do proper error checking and just retrieve what attributes makes sense.
Java
public ExperienceType type: Enum that indicates the given Experience type public enum ExperienceType { ExperienceTypeCustom("custom"), ExperienceTypeVideo("video"), ExperienceTypeImage("image"), ExperienceTypeAlert("alert"), ExperienceTypeHtml("html"), ExperienceTypeUrl("url"), ExperienceTypeUnknown(""); } public ExperienceAction action: Enum that instructs how to act on the given experience. public enum ExperienceAction { ExperienceActionPassive("passive”), ExperienceActionAutoShow("autoShow"), ExperienceActionPrompt("prompt”), ExperienceActionUnknown(""); } public String customDetails: Additional details added to the experience that did not fall into any of the standard properties. public String name: The Experiences name on the management console. public String notifTitle: This field should contain the text you would like to display in a Notification to the user. public String notifDescription: The notificationDescription is an additional field that can be used to better describe what you are notifying the user about. public boolean showNotif: Indicates whether or not to display a notification to the user for the given Experience.
VideoExp contains video content that should be made available to the user. This class also provides accessory methods to allow you to easily play the video if you would like.
Java
public FMDisplayType displayType: Enum that indicates what mode to display the video in. public enum FMDisplayType { Fullscreen("fullscreen"), Large("large"), Small("small"); } public FMVideoProvider contentProvider: Enum that informs you of where the video is hosted. public enum FMVideoProvider { YouTube("youtube"), Vimeo("vimeo"), Custom("custom"); } public String videoURL: A URL that points to the video. public String videoPlayPictureURL: A URL that points to a picture the user must click on for the video to play. This field may or may not exist depending on your app‘s style.
ImageExp contains an image that should be presented to the user. This class contains a helper method to load the Image data using a background thread and upon completion presents the image in an imageView of your choosing.
Java
public String imgURL: A URL that points to the image. public void presentPictureInImageView(ImageView ImageView, ProgressBar progressBar);
HtmlExp contains an html string that should be presented in a WebView or like UI element. Also, included is a helper load the property htmlString directly into a webView provided.
Java
public String htmlString: An html content string that should be displayed. public void presentHtmlInWebView(WebView webView);
UrlExp contains an url that should be presented in a WebView or like UI element. Also, included is a helper load the property url directly into a webView provided.
Java
public String url: A url that should be loaded. public void presentUrlInWebView(WebView webView);
An Experience that is intended to simply present a notification to the user. This class contains a helper method, showAlert(). showAlert() parses out the notificationTitle and notificationDescription from the experience and presents a notification in the Android notification bar with this string.
Java
public void showAlert();
This is a catchall Experience that can be modified to fit your use case in the Footmarks Management Console. If used, the customized data will be returned in the text property;
Java
public String text: The data to be used for the custom exp (json, xml, text, etc)