App log Analytics

App log Analytics provide real time feedback on user's usage on your app which means you can analyze their usage patterns and analyze problems

These are the functionality that app log analysis provide.

  • Usage(User count/Usage count) : Provides index on how many users use your App. We define the number of people using your app as session. Session includes steps from user starting the app to ending the app.
  • Events: Provides index on which menu/functionalities are mostly used among users when using your app. If user makes certain moves while using your app, it will be recorded as event ad analyze them for you.
  • Engagement : Provide index on how long users use your app or how long it takes for user to return.
  • Retention: Provides index on how often your app is being used by the first time registered users. If you see high retention rate, you can put your hopes on success but if retention rate is low, you can analyze the problem and make higher retention rate.
  • Revisit(Recurrence) : Provide index on how often particular event happens from certain user.
  • Flow(Usage flow) : Show app flow of steps on users use the most. You can view and analyze it on standard of actual screen or by event
  • Funnel(Funnel analysis): Provide index on changes in number of user from consecutive event and its return rate.
  • Custom Metric: Provide statistics on Metric set by App developers. Custom metric can be set by mixing event with operator.
  • Monetization: Provide index on how much profit occurred from certain events from users.
  • Campaign(캠페인): 캠페인을 통해 앱을 설치한 신규 사용자 수가 얼마인지, 채널 별로 어떤 성과가 나타났는지와 같이 캠페인과 프로모션 채널의 효용성에 대한 리포트를 제공합니다.

For those who have never used app log analytics, consult regarding app log analytics which will give you sense on how to define event and view analyzed data.

Before getting started

When you unzip downloaded Android's most recent Analytics SDK sample source and library is included. Apply SDK on your Appp by Referring sample source.

1. Copy libs included library. kakao-android-sdk-analytics.jar must be included, support-v4-r19.jar is not required if it's being used and has been included in other module.

2. Add internet permission in AndroidManifest.xml, and set native key registered with the name com.kakao.sdk.AppKey.

  <uses-permission android:name="android.permission.INTERNET"/>

  <application>
    ...
    <meta-data android:name="com.kakao.sdk.AppKey" android:value="AAAAAAAAAAAAAAAAAAAAAA"/>
  </application>

3. 더불어 앱로그 분석 기능 중 캠페인 메뉴를 사용하시려면 SDK가 com.android.vending.INSTALL_REFERRER 인텐트를 받을 수 있도록 아래와 같이 추가 설정을 합니다.

  <uses-permission android:name="android.permission.INTERNET"/>

  <application>
    ...
    <receiver android:name="com.kakao.kinsight.sdk.android.ReferralReceiver" android:exported="true">
      <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
    </receiver>
    ...
    <meta-data android:name="com.kakao.sdk.AppKey" android:value="AAAAAAAAAAAAAAAAAAAAAA"/>
  </application>

Session management

Session, basic measurement of App log analytic, records all data from starting your app to exiting from it. In order to record session, method for opening and closing session according to Activity Life cycle must be called.
When session starts, it will be uploaded for analytic purposes. If time between ended session and session which you are about to start, is very short, the previous session should be reused. By such method, it will be treated as single session even if activity transition happens. Started session must be ended. Even in ending scenario transmittable data will be uploaded.

1. Import session class.

import com.kakao.kinsight.sdk.android.KinsightSession;

2. Declare KisightSession as member variable.

public static KinsightSession kinsightSession;

3. In onCreate session, create object, and call open().

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  ...
  kinsightSession = new KinsightSession(getApplicationContext());
  kinsightSession.open();
  ...
}

4. In onResume, call open().

public void onResume() {
  super.onResume();
  ...
  kinsightSession.open();
}

5. From onPause, call close().

public void onPause() {
  kinsightSession.close();
  ...
  super.onPause();
}

Add target for analysis

You can register user event in session in order to analyze user activity.

1. In order to register event in user's action, call must be made addEvent(String) to deal with user's action

public void onYourOwnEvent() {
  ...
  kinsightSession.addEvent("use your own event name");
  ...
}

In order to register not only event but also event related properties must be registered method for dealing with users action, addEvent(String, Map) must be called.

For additional properties for event, it should be used with Map, for case as Object, String or Number type is supported(maximum of 10 supported).

public void onYourOwnEvent() {
  ...
  final Map<String, Object> attributes = new HashMap<String, Object>();
  // attribute of an event can have values of string or number type
  attributes.put("object", "button");
  attributes.put("category", "book");
  attributes.put("itemCount", 1);
  attributes.put("price", 4.3);
  kinsightSession.addEvent("use your own event name", attributes);
  ...
}

2. In order to register screen user have been using in a session, tagScreen(String) must be called by targeted Activity from onResume.

public void onResume() {
  super.onResume();
  ...
  kinsightSession.open();
  kinsightSession.tagScreen(“screen #1”);
}

Last Modified : 2017-07-28