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 파일에 다음 행을 추가합니다.

        // android { ... }
        // dependencies { ... }
        apply plugin: '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)
        }
    }
    

자바

    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.count, app_type 두 번 이상 방문하는 사용자입니다. app_type 이벤트를 명시적으로 추적해야 합니다. session_start는 자동으로 추적됩니다. 위의 설치된 앱 데이터와 인스턴트 앱 데이터 구별을 참조하세요.

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