Experience Properties

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

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

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

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

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);

AlertExp

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();

CustomExp

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)