Getting Started with Marketing Automation/App Analytics

ShepHertz has added an Event API to its broad gamut of services. The Event API is a powerful analytic API and allows the developer to track app events as well as real-time sessions of mobile apps and web apps. This also helps in tracking your Page views/Button clicks/Downloads/App Open/App Close/Installs/DAUs and user activity in your app.

App42 provides a powerful management console to track and analyze these events in just few clicks. It also provides an option to drill down your data based on custom and app properties like country/city/device model/OS etc. This does not only help you in analyzing the data, one can also take actions such as sending Push notifications/In-app messages/Emails to target users who have executed certain events. Segmentation features add more power to the drilling option where one can see the list of users based on events and properties.

The developer needs to enable this service from the App42 dashboard and can be used just like any other service of App42. Refer to the following steps in order to get started

Enable Service From AppHQ

Login to AppHQ console > App Manager > Settings > Select your app > Analytics State. (Go to Getting Started if you are not registered or if you have not created an app)

StateEnable

Initialization

Once you have enabled it form the console, you have to initialize it as usual and build the service as shown below in code snippet.

  • create User Api for Android
  • create User Api for J2ME
  • create User Api for Android
  • create User Api for iOS
  • create User Api for Java
  • create User Api for .NET
  • create User Api for Unity
  • create User Api for Ruby
  • create User Api for Rest
  •  create User Api for WP7/WP8
  • create User Api for Flash
App42API.initialize("ANDROID_APPLICATION_CONTEXT","API_KEY","SECRET_KEY");
App42API.enableEventService(true);
App42API.setLoggedInUser("<Logged In User>") ;
EventService eventService = App42API.buildEventService(); 

[App42API initializeWithAPIKey:@"APP_KEY" andSecretKey:@"SECRET_KEY"];
[App42API enableEventService:YES];
// Set Current Logged In User
EventService *eventService = [App42API buildEventService];
Coming Soon
 
Coming Soon
App42.initialize("APP_KEY", "SECRET_KEY");
App42.enableEventService(true);
App42.setLoggedInUser("<Logged In User>");
var eventService = new App42Event();     
Coming Soon
App42API.Initialize("API_KEY","SECRET_KEY");
App42API.EnableEventService(true);
App42API.setLoggedInUser("<Logged In User>") ;
EventService eventService = App42API.BuildEventService(); 
Coming Soon 
Coming Soon
Coming Soon
Coming Soon
NA

What is an Event?

Events are actions inside your app that are being taken by your app users. These actions could be important parameters on which you can measure the success of your app. These form the key matrix which you can track and monitor to analyze business performance. For example: Game Play, Registration, Photo share, Checkout, Payment are some actions that you might be interested in tracking and analyzing inside your app. These events could be any actions that you want to put in the funnel and analyze for conversion too.

What is Property?

Property is an extra information that you want to track along with event. For example, tracking age/gender of the user who is doing the event. Having this field in the query builder facilitates further drilling down of the data that you have on events.

What is Super Property?

When you track an event, some of the properties are sent along with the request and managed by the SDK itself; you don’t have to pass this as a property in the method call. These properties include app version, device model, browser, browser version, carrier info, OS, OS version,Screen dpi, height and width.

What is User Property?

Define Properties that you want to tag users with on occurrence of events and track how many such tagged users have executed various events. For example, you can tag a user with property type paid once he has done some in-app purchase and then you can track how many times a particular event (e.g. game play event) occurs for these paid users.

  • create User Api for Android
  • create User Api for J2ME
  • create User Api for Android
  • create User Api for iOS
  • create User Api for Java
  • create User Api for .NET
  • create User Api for Unity
  • create User Api for Ruby
  • create User Api for Rest
  •  create User Api for WP7/WP8
  • create User Api for Flash
JSONObject properties = new JSONObject ();
properties.put ("Plan", "Free");
properties.put ("Country", "India");
eventService.setLoggedInUserProperties(properties, new App42CallBack() {
public void onSuccess(Object response) 
{
	App42Response app42Response = (App42Response) response;   
	System.out.println("App42Response Is : " + app42Response);
}
public void onException(Exception ex) 
{
	System.out.println("Exception Message"+ex.getMessage());
}
});		
NSDictionary *properties = [NSDictionary dictionaryWithObjectsAndKeys:@"Free",@"UserType", nil];
[eventService setLoggedInUserProperties:properties completionBlock:^(BOOL success, id responseObj, App42Exception *exception) 
{
    if (success)
    {
        App42Response *response = (App42Response*)responseObj;
        NSLog(@"IsResponseSuccess is %d" , response.isResponseSuccess);
    }
    else
    {
        NSLog(@"Exception = %@",[exception reason]);
        NSLog(@"HTTP error Code = %d",[exception httpErrorCode]);
        NSLog(@"App Error Code = %d",[exception appErrorCode]);
        NSLog(@"User Info = %@",[exception userInfo]);
    }
}];
Coming Soon
Not Available
var properties = "{ \"Plan\":\"Free\" }"
eventService.setLoggedInUserProperties(properties, {
	success: function (object) {
		var eventObj = JSON.parse(object)
		console.log("Success is : " + eventObj);
	},
	error: function (error) {
		console.log("Exception is : " + error);
	}
}); 
Not Available
Dictionary<String,object> properties = new Dictionary<string, object> ();
properties.Add ("Plan", "Free");
properties.Add ("Country", "India");
App42Log.SetDebug(true);		//Prints output in your editor console
eventService.SetLoggedInUserProperties(properties, new UnityCallBack()); 
public class UnityCallBack : App42CallBack
{
	public void OnSuccess(object response)
	{
		App42Response app42Response = (App42Response) response;   
		App42Log.Console("App42Response Is : " + app42Response);
	}

	public void OnException(Exception e)
	{
		App42Log.Console("Exception : " + e);
	}
}
Not Available
Not Available
Not Available
Not Available
Not Available 

Next

bullet Go To Tracking App Event for starting with your first event tracking