[android] Google-Analytics에서 Firebase-Analytics로 이동하는 방법은 무엇입니까?

배경

최근 몇 달 동안 Google은 ” Firebase Analytics ” 라는 새로운 Analytics 대안을 발표했습니다 .

문제

앱에 이미 Google-Analytics가 포함되어 있기 때문에 가장 잘 처리 할 수없는 몇 가지 장애물을 발견했습니다.

질문

  1. 이전에는 “newTracker”함수에 속성 ​​ID가 필요했습니다. 지금은 보이지 않습니다. 필요하지 않다는 뜻입니까?

  2. 이전에는 “enableAdvertisingIdCollection”도 광고 정보를 수집하는 데 사용할 수있었습니다. 새 API에서 찾을 수 없습니다. 자동으로 수집 되나요?

  3. “setDryRun”을 사용하여 데이터를 서버로 보내는 것을 비활성화 할 수 있었지만 지금은 보이지 않습니다. 앱의 디버그 버전에 대해이 방식이 자동으로 수행된다는 의미입니까? 모든 함수가 로그에 기록됩니까?

  4. 이전에는 “화면”을 추적 할 수있었습니다.

    public void setScreenName(String name) {
        mGoogleAnalyticsTracker.setScreenName(name);
        mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build());
    }
    

    이제는 보이지 않지만 읽은 것처럼 자동이라고 생각하므로 어쨌든 활동 수명주기의 데이터를 보냅니다. 사실인가요?

  5. 아마도 가장 중요한 것은 이전에는 카테고리, 액션, 라벨 및 가치를 사용하여 추적 할 수있었습니다.

    public void trackEvent(final String category, final String action, final String label, final long value) {
        mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder()
                .setCategory(category).setAction(action)
                .setLabel(label).setValue(value).build());
    }
    

    이제 번들을 사용하여 이벤트 ( “맞춤 이벤트”)를 추적하는 완전히 다른 방법을 볼 수 있습니다. 예:

    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
    

    어떻게 작동합니까? Firebase Analytics 웹 사이트에는 어떻게 표시 됩니까? logEvent의 첫 번째 매개 변수가 Google-Analytics의 범주 매개 변수처럼 동작하도록 할 수 있다고 생각하지만 나머지는 무엇을 할 수 있고 /해야합니까? 문서에 따르면 이것은 괜찮을 것입니다.

    public void trackEvent(final String category, final String action, final String label, final long value) {
        Bundle bundle = new Bundle();
        bundle.putString("action", action);
        bundle.putString("label", label);
        bundle.putLong("value", value);
        mFirebaseAnalytics.logEvent(category, bundle);
    }
    
  6. 어떤 이벤트가 실제로 자동으로 (일부는 내가 사용 안된다고 말했다 있기 때문에 나는이 물어 추적되고 여기에 )? 구매가 포함됩니까? 앱 초대? 광고? 콘솔 웹 사이트에서 어디에서 볼 수 있습니까?

  7. 로그에 대해서는 새 SDK가 다음을 수행 한다고 말합니다 .

    일련의 adb 명령을 사용하여 자세한 로깅을 활성화 할 수 있습니다.

    adb shell setprop log.tag.FA VERBOSE adb shell setprop log.tag.FA-SVC VERBOSE adb logcat -v time -s FA FA-SVC

    그 명령은 무엇을합니까? 어떻게 비활성화 할 수 있습니까? 앱의 릴리스 버전에서도 표시되는 것으로 나타났습니다 …

  8. 새 SDK가 Google-Analytics를 대체해야합니까? 완전히 이동하는 것이 좋습니다. Google-Analytics에 업데이트가 있습니까?



답변

많은 질문이 함께 묶여 있으므로 대부분의 질문에 간략하게 대답하겠습니다.

  1. Google Analytics는 tracker-id에 대해보고하고 Firebase Analytics는 애플리케이션에 대해보고합니다. google-services.json에 정의 된 애플리케이션에는 하나의 ID 만 있습니다. ID는 “google_app_id”이름 아래 google 서비스 플러그인에 의해 문자열 리소스로 변환됩니다. 앱의 모든 이벤트는이 단일 ID로보고됩니다.
  2. Firebase Analytics는 AdId를 자동으로보고합니다. 활성화 할 필요가 없습니다.
  3. dryRun 기능이 없습니다. 개발 중에 별도의 google-services.json을 사용하거나, 앱 버전을 사용하여 개발 버전을 필터링하거나, 사용자 속성을 추가하여 개발에 사용되는 앱 인스턴스를 표시 할 수 있습니다.
  4. 화면을보고 할 수 있습니다.

    Bundle params = new Bundle();
    params.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "screen");
    params.putString(FirebaseAnalytics.Param.ITEM_NAME, "screen name");
    firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, params);
    
  5. 동일한 매개 변수로 맞춤 이벤트를 기록 할 수 있습니다.

    Bundle params = new Bundle();
    params.putString("category", category);
    params.putString("action", action);
    params.putString("label", label);
    params.putLong("value", value);
    firebaseAnalytics.logEvent("xyz_event", params);
    

    “ga_”접두사는 예약되어 있으며 사용하면 분석이 실패합니다. 대신 “xyz_”를 사용하십시오. 여기서 xyz는 회사의 이니셜입니다.

    추적하려는 범주가 거의없는 경우가 아니면 범주를 이벤트 이름으로 사용하지 마십시오. Firebase Analytics는 최대 500 개의 이벤트 이름을 지원합니다. 그 이상을 로깅하면 일부 데이터가 무시됩니다.

  6. FirebaseAnalytics.Event 클래스 의 시작 부분에 예약 된 이벤트 이름 목록이 있습니다 . 보고 된 자동 이벤트를 대략적으로 나타냅니다.

  7. Firebase Analytics는 기본적으로 디버그 로깅이 사용 중지되어 있습니다. 오류 및 경고 만 기록합니다. 디버그 로깅을 활성화하지 않고 앱이 올바르게 구성된 경우 앱이 시작될 때 디버그 로깅을 활성화하는 방법에 대한 지침과 함께 2 줄만 기록됩니다. 프로덕션에서 비활성화 할 사항이 없으며 Google Analytics의 setLogLevel (ERROR)에 해당하는 항목이 없습니다. WARN은 기본 로깅 수준입니다. 기기에서 adb 명령을 실행하여 개별 기기에서만 로깅을 활성화 할 수 있습니다. 이렇게하면 디버그 로깅이 활성화 된 상태로 프로덕션에서 앱을 제공하지 않아도됩니다.

  8. Android 및 iOS 용 Google Analytics SDK는 더 이상 사용되지 않으며 지원 및 업데이트 될 예정입니다. 이미 앱에 사용하여 투자했고 요구 사항을 충족하는 경우에는 멀어 질 필요가 없습니다.


답변

Google Analytics 는 웹 사이트 트래픽을 추적하고보고하는 Google에서 제공하는 부분 유료화 웹 분석 서비스입니다. 1 Google은 Urchin을 인수 한 후 2005 년 11 월에 서비스를 시작했습니다.
Firebase 는 캘리포니아 주 샌프란시스코에 기반을 둔 클라우드 서비스 제공 업체이자 서비스 회사로서의 백엔드입니다. 이 회사는 모바일 또는 웹 애플리케이션을 구축하는 소프트웨어 개발자를위한 다양한 제품을 생산합니다.

Google Analytics에서 Firebase Analytics로 이동하는 방법은 무엇입니까?

Google 애널리틱스 (GA)와 Firebase 애널리틱스 (FA)는 일반적인 이름에도 불구하고 여러 측면에서 크게 다릅니다. GA는 범용 (그리고 더 웹 지향적 인) 분석 도구이지만 Firebase는 모바일을 염두에두고 구축되었습니다. 따라서 기능 세트가 FA에 추가 된 것과 GA에서 누락 된 것 등 두 기능간에 차이가 있습니다. .

보다 구체적으로 다음은 Firebase Analytics를 고려할 때 주목할만한 몇 가지 사항입니다.

  • 실시간보기가 없습니다.
  • 이벤트는 4-6 시간 후에 사용할 수 있습니다.
  • 행동 흐름 (GA에서)이 누락되었습니다.
  • Audiences는 FA의 큰 이점을 제공하며 알림과 함께 특정 사용자 그룹과 교류 할 수 있습니다.
  • Firebase 오류보고를 사용하면 오류를 경험 한 사용자가있는 잠재 고객이 자동으로 생성됩니다.
  • FA는 화면보기가 아닌 이벤트를 기반으로하기 때문에 퍼널 분석은 GA보다 훨씬 더 의미가 있습니다.
  • 이벤트 유형 (500 개로 제한됨)을 제외하고 무료 및 무제한 각 유형별 이벤트 볼륨에 제한이 없습니다.
  • 일부 이벤트는 자동으로 기록됩니다 (예 : 활동 수명주기를 기반으로 한 세션).
  • GA의 방법 수에 비해 상대적으로 적은 방법 풋 프린트
  • 설정이 매우 쉽고 초기화 할 싱글 톤이 없으며 Gradle 종속성을 포함하고 이벤트 로깅을 시작하기 만하면됩니다.
  • 다른 Firebase 서비스를 사용할 계획 인 경우 올인원 콘솔

하나에서 다른 것으로 전환하는 것을 고려해야하는지 아니면 둘 다 병렬로 유지해야하는지에 대한 대답은 다음과 같습니다.

  • 이전에 GA를 광범위하게 사용했다면 FA로 완전히 전환 할 때 일부 기능이 누락 될 가능성이 있습니다.
  • 그러나 이것이 프로젝트의 새로운 시작이라면 FA는 크로스 플랫폼 모바일 지향 환경에 훨씬 더 취약하므로 자신의 분석 도구로 간주 할 수 있습니다.

참고로 Firebase가 방금 출시되었으며 Google은 앞으로 몇 주 내에 더 많은 기능 (예 : 실시간 대시 보드)을 추가 할 계획을 가지고 있습니다.

자습서의 경우 https://firebase.google.com/docs/analytics/android/start/에서 찾을 수 있습니다.


답변