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

경고: Google Play 인스턴트를 더 이상 사용할 수 없습니다. 2025년 12월부터는 Google Play를 통해 인스턴트 앱을 게시할 수 없으며 모든 Google Play 서비스 인스턴트 API가 더 이상 작동하지 않습니다. 사용자에게 더 이상 어떤 메커니즘을 통해서도 Play에서 인스턴트 앱이 제공되지 않습니다.

이 변경사항은 개발자 의견과 Google Play 인스턴트 도입 이후 생태계를 개선하기 위한 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)
    }
}

자바

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를 참고하세요.