Android SDK (Korean)

현재 Android SDK 버전 3.5   기본 Android™ 플랫폼용 MAT(MobileAppTracking™) SDK는 애플리케이션 세션 및 이벤트 로깅 기능을 제공합니다. Android용 MAT SDK는 Android 프로젝트에 포함시키기만 하면 되는 단일 java JAR 파일 형태로 준비되어 있습니다. SDK는 Android 버전 2.2 이상을 실행하는 모든 Android 기기와 호환됩니다. 측정 세션 및 이벤트를 시작하려면 먼저 Android용 MAT SDK를 모바일 앱에 연동합니다. “measureSession” 메소드를 시작한 후에 MAT에서 앱 내 이벤트(예: 구매, 게임 수준, 기타 사용자 참여)를 기록할 수 있습니다. MAT SDK를 즉시 시작 및 실행하려면 이 빠른 시작을 따르십시오. 앱을 MAT SDK 버전 2.x에서 3.x으로 업그레이드할 것이라면 SDK 2.x에서 3.x로 이전을 참조하십시오.

SDK 다운로드

MAT SDK를 다운로드하려면 먼저 해당 SDK 다운로드의 단계에 따라 MAT 플랫폼에 앱을 추가하십시오.

구현

다운로드한 SDK를 구현하려면 다음을 수행하십시오.

        1. MobileAppTracker-3.5.jar 파일을 모바일 앱의 libs 디렉터리에 복사합니다.
        2. Google Play 서비스 SDK를 설치하고 이를 프로젝트로 가져옵니다.
        3. 다음 섹션을 AndroidManifest.xml 파일에 추가합니다.
          <uses-permission android:name="android.permission.INTERNET"/>
          <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <application ... >
              <receiver android:name="com.mobileapptracker.Tracker" android:exported="true">
                <intent-filter>
                   <action android:name="com.android.vending.INSTALL_REFERRER" />
                </intent-filter>
              </receiver>
          <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
            </application>

          참고: 여러 개의 SDK를 Android 앱에 구현했다면 여러 개의 Android 설치 레퍼러를 사용해야 합니다. 그 방법을 익히려면 다중 Android 설치 레퍼러 구현에 대한 문서를 참조하십시오.
        4. 주요 활동에서 추적기 초기화:
          import com.mobileapptracker.MobileAppTracker;
          import com.google.android.gms.ads.identifier.AdvertisingIdClient;
          import com.google.android.gms.ads.identifier.AdvertisingIdClient.Info;
          import com.google.android.gms.common.GooglePlayServicesRepairableException;
          import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
          import java.io.IOException;     
          import android.provider.Settings.Secure;
           
          public class MyClass extends Activity {
              public MobileAppTracker mobileAppTracker = null;
           
              @Override public void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                  setContentView(R.layout.activity_main);
           
                  // Initialize MAT
                  MobileAppTracker.init(getApplicationContext(), "your_advertiser_ID", "your_conversion_key");
                  mobileAppTracker = MobileAppTracker.getInstance();
           
                  // If your app already has a pre-existing user base before you implement the MAT SDK, then
                  // identify the pre-existing users with this code snippet.
                  // Otherwise, MAT counts your pre-existing users as new installs the first time they run your app.
                  // Omit this section if you're upgrading to a newer version of the MAT SDK.
                  // This section only applies to NEW implementations of the MAT SDK.
                  //boolean isExistingUser = ...
                  //if (isExistingUser) {
                  //    mobileAppTracker.setExistingUser(true); 
                  //}
           
                  // Collect Google Play Advertising ID; REQUIRED for attribution of Android apps distributed via Google Play
                  new Thread(new Runnable() {
                      @Override public void run() {
                          // See sample code at http://developer.android.com/google/play-services/id.html
                          try {
                              Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext());
                              mobileAppTracker.setGoogleAdvertisingId(adInfo.getId(), adInfo.isLimitAdTrackingEnabled());
                          } catch (IOException e) {
                              // Unrecoverable error connecting to Google Play services (e.g.,
                              // the old version of the service doesn't support getting AdvertisingId).
                              mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                          } catch (GooglePlayServicesNotAvailableException e) {
                              // Google Play services is not available entirely.
                              mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                          } catch (GooglePlayServicesRepairableException e) {
                              // Encountered a recoverable error connecting to Google Play services.
                              mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                          } catch (NullPointerException e) {
                              // getId() is sometimes null
                              mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                          }
                      }
                  }).start();
              }
           
              @Override public void onResume() {
                  super.onResume();
                  // Get source of open for app re-engagement
                  mobileAppTracker.setReferralSources(this);
                  // MAT will not function unless the measureSession call is included
                  mobileAppTracker.measureSession();
              }
          }
        5. (앱이 Google Play를 통해서만 배포된다면 이 단계를 건너뛰고) 앱이 Google Play 외에도 Android 앱 스토어를 통해 배포된다면 기기 식별자에 대한 ANDROID_ID, 기기 ID, MAC 주소 수집을 계속할 수 있습니다. onCreate에서 MAT 초기화 후에 이러한 식별자를 다음 설정을 통해 MAT SDK에 전달합니다.Android ID
          import android.provider.Settings.Secure;
           
          mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));

          Device ID
          import android.telephony.TelephonyManager;
           
          String deviceId = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
          mobileAppTracker.setDeviceId(deviceId);

          MAC Address

          import android.net.wifi.WifiManager;
           
          // WifiManager objects may be null
          try {
              WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
              mobileAppTracker.setMacAddress(wm.getConnectionInfo().getMacAddress());
          } catch (NullPointerException e) {
          }
        6. 앱이 다른 초기화 활동을 통해 시작하는 경우(예: 딥링크 설정을 통해) 시작 가능한 각 활동이 MAT를 초기화하고 measureSession를 호출하도록 합니다. 이 목적을 위해 이전의 MAT 초기화 코드를 그 자체의 클래스에 위치시키는 것을 고려합니다.

 

주의 사항

your_advertiser_ID” 및 “your_conversion_key” 값은 MAT에서 모바일 앱을 생성할 때 MAT가 제공하는 광고주 ID 및 전환 키와 상호 연관됩니다. 광고주 ID와 전환 키에 대한 정보는광고주 ID 및 전환 키 찾기를 참조하십시오.

 

앱에 이미 기존 사용자 기반이 있으며(사람들이 앱을 이미 설치함) MAT SDK를 구현하는 경우 MAT는 누가 신규 사용자인지 또는 기존 사용자인지를 확인할 방법이 없으므로 기존 사용자를 새 설치로 카운트합니다. MAT의 기존 사용자를 파악하려면 “measureSession“을 호출하기 전에 먼저 해당 사용자에 대해 “setExistingUser(true)“를 호출하십시오. 기존 사용자 이전에 관한 정보는SDK 구현 전에 기존 사용자 처리를 참조하십시오.

 

애트리뷰션의 일관성과 편리함을 향상시키려면애트리뷰션을 위한 고유 식별자에 설명된 바와 같이 기기 식별자 수집을 고려하십시오. 모바일 앱에서 MAT SDK 구현을 테스트하려면 테스트 환경을 만들지 않고 MAT 플랫폼 자체에서 테스트할 수 있습니다.

모바일 앱 테스트하기를 참조하십시오.

이벤트 측정

    모바일 앱에서 MAT SDK를 구현하고 로깅 세션을 시작한 후에는 등록 및 앱 내 구매와 같은 다양한 앱 내 이벤트를 기록할 수 있습니다. 앱 내 이벤트를 로깅하고 분석하여 앱의 기능과 광고 전략을 보다 효율적으로 최적화할 수 있습니다. 결과 사용자가 모바일 앱과 상호 작용하는 방식을 이해하면 재방문, 참여 및 LTV(Lifetime Value)를 비용과 비교하여 효과적이고 수익성 있는 광고 캠페인을 만드는 데 직접적인 도움이 됩니다. 사용하는 앱에 따라 기록되는 가장 일반적인 이벤트는 다음과 같습니다.
  • 인증 및 등록
    • 로그인, 등록
  • 전자상거래
    • 장바구니에 추가, 위시리스트에 추가, 추가된 결제 정보, Checkout이 시작됨, 구매, 예약, 사용된 크레딧
  • 인게임
    • 목표달성 잠금 해제됨, 수준 달성, 자습서 완료
  • 사용, 등급 및 공유
    • 콘텐츠 보기, 초대, 분류됨, 검색, 공유

더 많은 정보가 필요하십니까? 앱 내 이벤트: 측정 대상과 이유를 참조하십시오. 바로 시작할 준비가 되셨습니까?

인앱 이벤트