2016년 7월 22일 금요일

Firebase 앱분석 설치 가이드

구글에서 2014년 인수한 백엔드 서비스인 Firebase의 앱분석 설치 과정을 다룬다.

크게 보면 아래 두 가지 내용이다.
가. iOS 기반에서 firebase analytics 를 사용하는 방법
나. 구글 태그 매니저 연동 방법

먼저 iOS 기반에서 firebase analytics를 사용하는 방법이다.


맥에서 CocoaPods를 설치한다.
아마도 에러가 발생한다.
ERROR:  Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.

구글 커뮤니티는 다음 차선책을 제시한다.
sudo gem install activesupport -v 4.2.6
sudo gem install cocoapods

**
gem: 세련된 루비 패키지 관리자
CocoaPods: Cocoa 라이브러리 패키지 관리자

xcode 도구에서 개발 프로젝트를 생성한다.
프로젝트 생성 폴더에서 Firebase 라이브러리를 가져온다.
pod init :-> Podfile이 생성된다.
vi Podfile :-> pod ‘Firebase’를 추가한다.
pod install

Firebase에서 서비스 프로젝트를 생성한다.
GoogleService-Info.plist 파일을 내려받아 개발 프로젝트에 추가한다.
GoogleService-Info.plist 내용에 IS_ANALYTICS_ENABLE을 True로 변경한다.

프로젝트에 코딩 작업을 한다.
AppDelegate.swift에 가이드 코드를 추가한다.
import Firebase

func application(application: UIApplication, didFinishLaunchingWithOptions  …) -> Bool {
        // Override point for customization after application launch.
        FIRApp.configure()
        return true
    }

ViewController.swift에 이벤트 로그 코드를 삽입한다. 
import FirebaseAnalytics

FIRAnalytics.logEventWithName(“<eventName>”, parameters: [
“<keyName>”: “<keyValue>”,
… ])

Analytics 디버깅 옵션을 추가한다.
Product > Scheme > Edit Scheme… > Arguments (tab) > Arguments Passed On Launch
에 -FIRAnalyticsDebugEnabled 값을 추가한다.

<<실제 디버그 내용
2016-07-22 17:26:47.742 myFirebaseA[10445:] <FIRAnalytics/DEBUG> Logging event: origin, name, params: app+gtm, test_event, {
   "_o" = "app+gtm";
   eventAction = "test event action";
   eventCategory = "test event category";
}
2016-07-22 17:26:47.796 myFirebaseA[10445:] <FIRAnalytics/DEBUG> Event logged. Event name, event params: test_event, {
   "_o" = "app+gtm";
   eventAction = "test event action";
   eventCategory = "test event category";
}

디버그 로그로 태그 전송 여부를 추측 할 수 있다.
확실히 하기 위해서, 실시간 확인이 가능한 구글 태그 매니저를 활용한다.

다음은 구글 태그 매니저 연동 방법이다.


태그 매니저에서 iOS용 firebase 컨테이너를 생성한다.
게시 버전의 json 파일을 내려 받고, container/<code>.json 형태로 개발 프로젝트에 참조를 건다.

개발 프로젝트에 태그 매니저 라이브러리를 추가한다.
pod 'GoogleTagManager', '~> 5.0' 를 Podfile에 추가하고,
pod install 한다.

<<실제 디버그 내용
2016-07-22 17:26:47.735 myFirebaseA[10445:649284] GoogleTagManager info: Processing logged event: test_event with parameters: {
    eventAction = "test event action";
    eventCategory = "test event category";
}
2016-07-22 17:26:47.740 myFirebaseA[10445:649284] GoogleTagManager info: Sending universal analytics hit: {
    "&ea" = "test event action";
    "&ec" = "test event category";
    "&el" = "test_event";
    "&ni" = 0;
    "&t" = event;
    "&tid" = "UA-012345678-1";
}

0 개의 댓글:

댓글 쓰기