Firebase용 Google 애널리틱스를 인스턴트 앱에 추가

인스턴트 앱이건 설치된 앱이건 성공 여부를 추적하는 것은 각 개발자에게 중요합니다. Fabric Answers,, Localytics, Mixpanel 등 몇 가지 분석 라이브러리는 Google Play 인스턴트와 호환됩니다.

현재 분석 솔루션이 표시되지 않거나 Google Play 인스턴트와 호환되지 않는 경우 Firebase용 Google 애널리틱스를 원격 분석 솔루션으로 사용하는 것이 좋습니다. 이 페이지에서는 인스턴트 앱 프로젝트에서 Firebase용 Google 애널리틱스를 설정하는 방법을 설명합니다.

Firebase용 Google 애널리틱스를 인스턴트 앱 프로젝트에 추가

  1. Firebase용 Google 애널리틱스 시작 가이드에 설명된 안내에 따라 앱에 Firebase SDK를 추가합니다.
  2. 최신 버전의 Google 서비스 플러그인을 사용합니다.
  3. google-services.json 파일을 각 모듈에 배치합니다.
  4. 각 모듈의 build.gradle 파일에 다음 행을 추가합니다.

    Groovy

    // android { ... }
    // dependencies { ... }
    plugins {
        id 'com.google.gms.google-services'
    }
    

    Kotlin

    // android { ... }
    // dependencies { ... }
    plugins {
        id("com.google.gms.google-services")
    }
    

Firebase용 Google 애널리틱스를 인스턴트 앱 프로젝트에 추가하면 설치 가능한 앱 프로젝트에서처럼 Firebase용 Google 애널리틱스 API를 사용할 수 있습니다.

Firebase용 Google 애널리틱스 API를 사용하는 방법에 대한 자세한 내용은 Firebase용 Google 애널리틱스 시작하기 문서를 참조하세요.

설치한 앱 데이터와 인스턴트 앱 데이터 구별

설치된 앱과 인스턴트 앱은 모두 패키지 이름을 공유하므로 각각에서 수집되는 이벤트와 데이터를 구별하는 것이 좋습니다. 애널리틱스에서 인스턴트 앱과 설치된 앱을 구별하려면 인스턴트 앱의 값을 'instant'로 설정하고 설치된 앱의 값이 'installed'인 app_type 사용자 속성을 설정하세요.

다음 코드 스니펫은 애널리틱스 인스턴스를 가져온 후 사용자 속성을 설정하는 활동을 보여줍니다. 이 코드에서는 onCreate(android.os.Bundle) 메서드의 PackageManagerCompat.isInstantApp()를 사용하여 앱의 컨텍스트를 확인합니다.

Kotlin

val STATUS_INSTALLED = "installed"
val STATUS_INSTANT = "instant"
val ANALYTICS_USER_PROP = "app_type"

private lateinit var firebaseAnalytics: FirebaseAnalytics

protected fun onCreate(savedInstanceState: Bundle?) {
    ...

    firebaseAnalytics = FirebaseAnalytics.getInstance(this)

    // Determine the current app context, either installed or instant, then
    // set the corresponding user property for Google Analytics.
    if (InstantApps.getPackageManagerCompat(this).isInstantApp()) {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTANT)
    } else {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTALLED)
    }
}

Java

final String STATUS_INSTALLED = "installed";
final String STATUS_INSTANT = "instant";
final String ANALYTICS_USER_PROP = "app_type";

private FirebaseAnalytics firebaseAnalytics;

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...

    firebaseAnalytics = FirebaseAnalytics.getInstance(this);

    // Determine the current app context, either installed or instant, then
    // set the corresponding user property for Google Analytics.
    if (InstantApps.getPackageManagerCompat(this).isInstantApp()) {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTANT);
    } else {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTALLED);
    }

}

app_type 사용자 속성을 설정하면 애널리틱스 콘솔의 이벤트 탭에서 이벤트를 선택하고 app_type 값을 기준으로 이벤트를 필터링할 수 있습니다. 결과 데이터 예상을 통해 인스턴트 앱 또는 설치된 앱에서 지정된 이벤트의 수를 알 수 있습니다.

Firebase용 Google 애널리틱스에서 이벤트를 기록하고 보는 방법에 대한 자세한 내용은 이벤트 로깅을 참조하세요.

애널리틱스 이벤트 해석

애널리틱스를 사용하면 인스턴트 앱에 중요한 다양한 측정항목을 추적할 수 있습니다. 다음 표에서는 애널리틱스의 상응하는 이벤트 이름 또는 속성을 비롯하여 인스턴트 앱의 관련 측정항목을 설명합니다.

이름 애널리틱스 값 정의
방문수 session_start 세션이 시작되었습니다. 이 이벤트는 자동으로 추적됩니다.
실제 구매 Firebase.Event.ECOMMERCE_PURCHASE 실제로 이루어진 구매입니다. 코드에서 이 이벤트를 명시적으로 추적해야 합니다.
디지털 구매 in_app_purchase 디지털 인앱 구매입니다. 이 이벤트는 자동으로 추적됩니다.
앱 시간 user_engagement 앱이 포그라운드에서 소비한 시간입니다. 이 이벤트는 자동으로 추적됩니다.
인스턴트 앱 컨텍스트 app_type 인스턴트 컨텍스트 또는 설치된 컨텍스트에서 실행 중인 앱에서 발생하는 이벤트 코드에서 이 이벤트를 명시적으로 추적해야 합니다. 위의 설치된 앱 데이터와 인스턴트 앱 데이터 구별을 참조하세요.
재방문자 session_start.countapp_type 두 번 이상 방문하는 사용자입니다. app_type 이벤트를 명시적으로 추적해야 합니다. session_start는 자동으로 추적됩니다. 위의 설치된 앱 데이터와 인스턴트 앱 데이터 구분을 참조하세요.

애널리틱스에서 수집할 수 있는 이벤트의 상수에 관한 자세한 내용은 FirebaseAnalytics.Event를 참조하세요.