1. 소개
최종 업데이트: 2022-02-25
빌드할 항목
이 Codelab에서는 GA4F가 이벤트를 추적할 수 있도록 WebView 내의 웹페이지에서 네이티브 코드로 이벤트를 전달하는 방법을 알아봅니다.
WebView를 사용하여 웹페이지를 호출하는 샘플 하이브리드 Android 앱을 사용합니다.
학습할 내용
- 하이브리드 앱에서 GA4F (Firebase용 Google 애널리틱스)를 초기화하는 방법
- 웹페이지에서 맞춤 이벤트 및 매개변수를 만드는 방법
- WebView 내의 웹페이지에서 네이티브 코드로 이벤트를 전달하는 방법
- 디버깅 방법
- 이벤트를 가져와서 액션 캠페인에 사용하는 방법
필요한 항목
- Android 스튜디오 3.6 이상
- Firebase 계정
2. 설정
코드 가져오기
Firebase 공식 가이드에서는 GitHub의 샘플 코드를 제공합니다. 이 프로젝트에 필요합니다.
![]()
시작하려면 코드를 다운로드하고 선호하는 개발 환경에서 열어야 합니다. android 및 web의 두 디렉터리를 사용합니다. 'android' 디렉터리는 Android 앱용이고 'web' 디렉터리는 WebView를 통해 앱에서 호출할 웹페이지용입니다.
3. Firebase 프로젝트 만들기 및 설정
Firebase를 시작하려면 Firebase 프로젝트를 만들고 설정해야 합니다.
Firebase 프로젝트 만들기
- Firebase에 로그인합니다.
Firebase Console에서 '프로젝트 추가'(또는 '프로젝트 만들기')를 클릭하고 Firebase 프로젝트의 이름을 Webview-test-codelab 또는 원하는 이름으로 지정합니다.
![]()
- 프로젝트 만들기 옵션을 클릭하며 살펴봅니다. 즉, 메시지가 표시되면 Firebase 약관에 동의합니다. 그리고 작업 이벤트를 추적하고 전환을 분석하기 위해 Google 애널리틱스 이벤트가 필요하므로 이 프로젝트에서 Google 애널리틱스를 사용 설정해야 합니다.
![]()
Firebase 프로젝트에 관해 자세히 알아보려면 Firebase 프로젝트 이해를 참고하세요.
4. Android용 Firebase 구성
Firebase Console에서 Android 구성
- Firebase Console 홈에서 아래와 같이 Android 아이콘을 클릭할 수 있습니다.

또는 왼쪽 탐색 메뉴에서 프로젝트 개요 로 이동하여 '앱에 Firebase를 추가하여 시작하기'에서 Android 버튼을 클릭할 수 있습니다.
그러면 아래와 같이 'Android 앱에 Firebase 추가' 화면이 표시됩니다.
![]()
- 앱 디렉터리의
android/app/src/main/AndroidManifest.xml에서 Android 패키지 이름 (예: com.xxxx.myproject)을 찾을 수 있습니다.
package="com.xxxx.myproject"
- 여기서는 SHA-1 키가 필요하지 않습니다. 이 키는 Google 로그인 또는 Firebase 동적 링크를 사용하거나 이 Codelab의 범위가 아닌 Google Play에서 in_app_purchase 데이터를 가져오려는 경우에만 필요합니다.
- 앱 등록 을 클릭합니다.
- Firebase Console에서 구성 파일
google-services.json을 다운로드하고 이 파일을 앱 프로젝트의android/app디렉터리에 복사하여 붙여넣습니다.
- 다시 Firebase Console에서 나머지 단계를 건너뛰고 Firebase Console의 기본 페이지로 돌아갑니다.
- 마지막으로, Firebase에서 생성한
google-services.json파일을 읽으려면 Google 서비스 Gradle 플러그인이 필요합니다. - IDE 또는 편집기에서
android/app/build.gradle을 연 후 다음 코드 줄을 파일의 마지막 줄로 추가합니다.
apply plugin: 'com.google.gms.google-services'
android/build.gradle을 엽니다. 그런 다음buildscript태그 내에 새 종속 항목을 추가합니다.
buildscript {
repositories {
// ...
}
dependencies {
// ...
Classpath 'com.google.gms:google-services:4.3.3'
}
}
- 앱이 여전히 실행 중인 경우 앱을 닫았다가 다시 빌드하여 Gradle이 종속 항목을 설치할 수 있도록 합니다.
Android용 앱 구성이 완료되었습니다.
5. 웹에서 애널리틱스 웹 인터페이스 개발 및 맞춤 이벤트 로깅
Google 애널리틱스로 WebView에서 이벤트를 추적하려면 웹과 Android 앱 모두에 코드를 삽입해야 합니다.
이 부분에서는 웹페이지에 넣어야 하는 코드를 살펴보겠습니다. ![]()
먼저 HTML 파일에서 사용할 자바스크립트 파일을 만듭니다. 샘플 코드에서 js 파일의 이름은 index.js입니다. 아래 코드와 같이 Android용 'AnayticsWebInterface'를 호출하는 'logEvent' 함수와 iOS용 'messageHander'를 만들어야 합니다.
![]()
아래와 같이 HTML 파일에서 이벤트를 추적하려는 위치에서 이 함수를 호출합니다.
![]()
Android 앱의 WebView에서 이벤트가 트리거되면 'window.AnalyticsWebInterface'가 호출되고 이벤트가 앱의 WebInterface 코드로 전달됩니다.
6. 웹페이지 URL을 가져오기 위한 웹 디렉터리 호스팅
앱의 WebView 내에서 웹페이지를 호출하기 전에 웹페이지 URL이 필요합니다. 웹페이지를 호스팅하는 방법은 여러 가지가 있습니다. 이 Codelab에서는 편의를 위해 Firebase 호스팅 서비스를 사용합니다.
- 터미널에서 웹 디렉터리 (예:
cd web)를 입력하고 다음 명령어를 실행합니다. npm install -g firebase-tools
이렇게 하면 Firebase CLI가 설치됩니다.
firebase loginfirebase init- 설정할 기능을 묻는 메시지가 표시되면 '호스팅'을 선택합니다.
- Android 앱에 설정한 프로젝트를 선택합니다.
- 나머지 모든 프롬프트에 기본값을 적용합니다.
firebase deploy --only hosting- Firebase 호스팅에 배포합니다.
![]()
- 웹페이지 URL을 가져온 후 Android 스튜디오에서 앱 프로젝트로 이동하여 이 단계에서 만든 웹 URL을 아래와 같이 WebView 내에 삽입합니다.
![]()
7. Android 앱에서 인터페이스 코드 개발
GA4F로 WebView에서 이벤트를 추적하려면 웹과 Android 모두에 코드를 삽입해야 합니다. 이 부분에서는 WebView의 웹페이지에서 이벤트를 수신하기 위해 Android 앱에 넣어야 하는 코드를 살펴보겠습니다.
'AnalyticsWebInterface' 클래스를 만들려면 'AnalyticsWebInterface.java' 파일을 만듭니다. 이 클래스에서는 아래와 같이 웹 js 파일의 logEvent 함수를 연결하도록 @JavascriptInterface를 코딩해야 합니다.
![]()
다음으로 아래와 같이 WebView를 호출하는 활동에 자바스크립트 인터페이스를 추가해야 합니다.
![]()
전체 코드를 보려면 '설정' 단계에서 GitHub에서 다운로드한 샘플 코드를 참고하세요.
8. 이벤트 확인 및 디버깅
이벤트를 디버깅하려면 테스트 기기를 연결하거나 에뮬레이터를 실행한 후 Android 스튜디오 터미널에서 다음 코드를 사용하면 됩니다.
> adb shell setprop debug.firebase.analytics.app [앱 패키지 이름]
> adb shell setprop log.tag.FA VERBOSE
> adb shell setprop log.tag.FA-SVC VERBOSE
> adb logcat -v time -s FA FA-SVC
앱에서 'LOG EVENT 1'을 클릭하면 코드가 제대로 작동하는 경우 아래와 같은 로그가 표시됩니다.
![]()
Firebase Console에서 확인하려면 실시간 탭을 사용할 수도 있습니다. Firebase Console로 이동하여 아래와 같이 실시간 탭을 클릭합니다.
그런 다음 '비교 추가' 함수를 사용하여 Android 플랫폼 이벤트를 필터링합니다.
![]()
코드가 올바르게 구현된 경우 실시간 탭에 Android 앱의 이벤트가 표시됩니다. ![]()
몇 시간 내에 Firebase Console의 이벤트 탭에서 로깅된 이벤트를 확인할 수 있습니다. Firebase Console에 있는 애널리틱스 섹션에서 이벤트 탭을 클릭하면 됩니다. 이벤트를 클릭하기만 하면 이벤트 event1 내의 값을 확인할 수도 있습니다.
![]()
Google Ads에서 event1을 전환으로 가져오려면 전환으로 표시 스위치를 오른쪽으로 밀어 전환으로 표시합니다.
![]()
이벤트가 전환 탭에 있으면 이벤트를 전환으로 성공적으로 표시한 것입니다. 이제 Google Ads가 Firebase에서 이 이벤트를 가져올 수 있습니다.
디버깅 목적으로 Firebase DebugView를 사용합니다. 자세한 내용은 디버깅 이벤트를 참고하세요.
9. Google Ads에서 애널리틱스 이벤트 가져오기
Firebase 설정이 완료되면 작업 이벤트와 함께 앱 캠페인을 실행할 준비가 된 것입니다. Firebase를 Google Ads에 연결 하여 시작합니다. Firebase를 Google Ads에 연결 하면 앱 캠페인이 Firebase 이벤트를 가져올 수 있습니다. 이 프로세스를 통해 Google Ads가 잠재고객에 관해 더 자세히 알 수 있게 됨으로써 앱 캠페인을 촉진할 수 있습니다.
- 프로젝트 개요 옆에 있는 버튼을 클릭하여 Firebase 설정 으로 이동합니다.
- 통합 탭에 Google Ads 및 연결 버튼이 표시됩니다. 연결 을 클릭한 다음 계속 을 클릭합니다.
![]()
- Google Ads 계정을 선택합니다.
이제 Firebase 부분이 완료되었습니다.
Google Ads로 이동합니다.
- 맞춤 이벤트를 전환으로 가져오려면 로그인한 후 도구 및 설정 > 측정 > 전환 으로 이동합니다.
- + 버튼을 클릭하여 새 전환 액션을 추가합니다.
![]()
- Google 애널리틱스 4(GA4) 속성(Firebase)을 선택하고 계속 을 클릭합니다.
![]()
- 전환으로 표시된 모든 애널리틱스 이벤트를 확인할 수 있습니다. 앞서 구현한
event1이벤트를 찾습니다.
![]()
- 작업을 확인하고 가져오기 를 클릭한 다음 계속 을 클릭합니다.
![]()
event1을 전환 액션으로 설정한 후 event1 이벤트로 앱 액션 캠페인을 실행할 수 있습니다.
10. 가져온 이벤트로 앱 액션 캠페인 실행
- 현재 계정의 캠페인 탭으로 이동하고 + 버튼을 클릭하여 새 캠페인을 시작합니다. [새 캠페인] 을 클릭한 다음 계속 을 클릭합니다.
- 앱 설치 옵션과 함께 '앱 프로모션' 캠페인을 실행합니다.
![]()
- 앱 이름, 패키지 이름 또는 게시자를 입력하여 앱을 찾습니다.
- 입찰 섹션의 드롭다운 메뉴에서 인앱 액션 을 선택합니다.
- 제공된 목록에서 맞춤 이벤트를 찾습니다. 타겟 전환당비용을 설정하고 추가 옵션을 완료합니다.
![]()
- 캠페인 설정을 완료합니다.
11. 축하합니다
축하합니다. Firebase와 Google Ads를 성공적으로 통합했습니다. 이를 통해 Firebase에서 가져온 이벤트로 캠페인 실적을 향상시킬 수 있습니다.
학습한 내용
- 하이브리드 앱에서 GA4F (Firebase용 Google 애널리틱스)를 초기화하는 방법
- 웹페이지에서 맞춤 이벤트 및 매개변수를 만드는 방법
- WebView 내의 웹페이지에서 네이티브 코드로 이벤트를 전달하는 방법
- 디버깅 방법
- 이벤트를 가져와서 액션 캠페인에 사용하는 방법
12. 참조
공식 가이드
- WebView에서 애널리틱스 사용 - Firebase - Google
Firebase 및 Google Ads 설정