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
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)
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.
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 SoonComing SoonApp42.initialize("APP_KEY", "SECRET_KEY"); App42.enableEventService(true); App42.setLoggedInUser("<Logged In User>"); var eventService = new App42Event();Coming SoonApp42API.Initialize("API_KEY","SECRET_KEY"); App42API.EnableEventService(true); App42API.setLoggedInUser("<Logged In User>") ; EventService eventService = App42API.BuildEventService();Coming SoonComing SoonComing SoonComing SoonNA
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.
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.
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.
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.
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 SoonNot Availablevar 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 AvailableDictionary<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 AvailableNot AvailableNot AvailableNot AvailableNot Available