레이블이 Analytics인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Analytics인 게시물을 표시합니다. 모든 게시물 표시

2019년 7월 11일 목요일

Unity Analytics 설정

게임 분석을 위해 Unity Analytics를 적용 하는 방법을 정리해 둔다.
(각 Analytics 항목에 대한 상세한 설명은 유니티 공식 매뉴얼을 참고)

1. 프로젝트에서 설정하기

  • Unity의 Window>General>Services 으로 메뉴 열기
  • Create a Unity Project ID 로 애널리틱스를 이용한 서비스 프로젝트 생성하기
    (계정 연결하고 [Create] 버튼 선택)

2. Analytics 서비스 켜기

  • 표시되는 Services 메뉴 중 Analytics 의 [OFF] 버튼을 클릭해 [ON]으로 변경
  • Analytics 서비스 페이지의 Discover player insights 를 [ON]으로 변경
  • "이 앱이 13세 미만의 아이들을 대상으로 하는 것인지 확인" 설정

3. Analytics 서비스 연결

  • Play 버튼을 눌러 실행
  • 연동이 완료되면 Services의 Analytics 페이지가 갱신됨
  • 페이지가 갱신 되지 않으면 Services 화면의 우측 상단 메뉴 중 [Reload] 를 선택해 화면을 갱신 하거나 Services 화면 메인으로 이동해 다시 Analytics 페이지로 열어서 재 확인을 함

4. Analytics 서비스 정보

  • Services > analytics 항목의 Validator 정보
  • 발생 되는 이벤트 정보 로그를 표시
  • 설정하자마자 항상 즉시 표시되는 것은 아님(동기화 시간이 필요할 수 있음)

5. 커스텀 이벤트

  • 원하는 시점에 "Tag"로 등록한 값을 Analytics에 보낼 수 있음
  • 코드 예제

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Analytics;

public class AnalyticsManager : MonoBehaviour
{

    #region Singlton선언
    private static AnalyticsManager m_instance = null;

    public static AnalyticsManager Instance
    {
        get
        {
            return m_instance;
        }
    }

    void Awake()
    {
        // 동일한게 있으면 파괴
        if(m_instance)
        {
            Destroy(gameObject);
            return;
        }

        //유효한 인스턴스 생성 및 삭제 방지 처리
        m_instance = this;
        DontDestroyOnLoad(gameObject);
    }
    #endregion

    bool gameLoop = false;

    // 어플리케이션을 종료하는 순간에 처리할 행동들
    private void OnApplicationQuit()
    {
        gameLoop = true;
        Analytics.CustomEvent("App Quit", new Dictionary
        {
            {"Leaderboard Up Load Count", GPGSIntegration.loginSuccessCount },
            {"Best Score",  GPGSIntegration.bestScoreValueText},
            {"Loop Flag", gameLoop }
        });

    }

    int clickCount = 0;

    public void AnalyticsButtonClick()
    {
        clickCount++;

        Analytics.CustomEvent("App Quit", new Dictionary
        {
            {"Version", Application.version },
            {"Best Score",  GPGSIntegration.bestScoreValueText},
            {"Loop Flag", gameLoop },
            {"Button Click Count" ,  clickCount}

        });
    }

    public void ButtonAddCount()
    {
        clickCount++;
    }

}

6. 13세 미만 대상 앱

  • 미국에서는 13세 미만의 아동을 대상으로 하는 웹사이트, 앱, 서비스를 사용하도록 허용하기 위해서 아동 온라인 개인정보 보호법(COPPA: the Children’s Online Privacy and Protection Act)을 준수 해야 됨
  • 게임이 이 카테고리에 부합한다면 연련 제한을 “under 13”로 설정 하십시요. 유니티애즈와 유니티애널리틱스에서 수집하는 데이터의 제약이 생기긴 하지만 그래도 동작은 이상 없이함

7. 퍼널(Funnel) 등록


Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...