시작하기 – Unity

이 가이드에서는 Facebook Unity SDK를 사용하여 새로운 앱이나 기존 앱에 앱 이벤트를 추가하는 방법을 설명합니다.

시작하기 전에

앱 실행 로깅

SDK는 앱 실행을 로깅하기 위한 도우미 메서드 FB.ActivateApp을 제공합니다. 먼저 FB.Init로 SDK를 초기화해야 FB.ActivateApp을 호출할 수 있습니다.

사용자가 앱을 실행하면 MonoBehavior의 Awake 함수를 사용하여 로깅합니다.

void Awake ()
{
  if (FB.IsInitialized) {
    FB.ActivateApp();
  } else {
    //Handle FB.Init
    FB.Init( () => {
      FB.ActivateApp();
    });
  }
}

사용자가 앱을 다시 시작하면 MonoBehavior의 OnApplicationPause 함수를 사용하여 로깅합니다.

// Unity will call OnApplicationPause(false) when an app is resumed
// from the background
void OnApplicationPause (bool pauseStatus)
{
  // Check the pauseStatus to see if we are in the foreground
  // or background
  if (!pauseStatus) {
    //app resume
    if (FB.IsInitialized) {
      FB.ActivateApp();
    } else {
      //Handle FB.Init
      FB.Init( () => {
        FB.ActivateApp();
      });
    }
  }
}

이벤트 수동 로깅

이벤트를 수동으로 로깅하는 방법을 보여주는 코드 예시는 다음과 같습니다.

앱 내 구매 로깅

이 예시에서 priceCurrency는 사용한 통화를 나타내는 3자 ISO code가 포함된 문자열이고 priceAmount는 구매한 품목의 가격이 포함된 float이며 packageName은 구매한 품목의 SKU code가 포함된 문자열입니다.

var iapParameters = new Dictionary<string, object>();
iapParameters["mygame_packagename"] = packageName;
FB.LogPurchase(
  priceAmount,
  priceCurrency,
  iapParameters
);

게임 내 이벤트 추적

두 번째 예시에서는 사용자가 게임에서 사용한 크레딧 금액을 추적합니다. numGold는 지출한 크레딧 금액이 포함된 float이고 storeItem은 사용자가 구매한 아이템의 이름이 포함된 문자열입니다.

var softPurchaseParameters = new Dictionary<string, object>();
softPurchaseParameters["mygame_purchased_item"] = storeItem;
FB.LogAppEvent(
  Facebook.Unity.AppEventName.SpentCredits,
  (float)numGold,
  softPurchaseParameters
);

자동 로깅된 이벤트 비활성화

Facebook SDK를 통합하고 나서 특정 앱 이벤트가 이벤트 관리자에 대해 자동으로 로깅 및 수집됩니다. 단, 자동 앱 이벤트 로깅을 비활성화한 경우는 예외입니다. 앱 코드에서 이를 변경하거나 앱 대시보드나 이벤트 관리자의 앱 이벤트에서 토글을 통해 변경할 수 있습니다. AutoLogAppEventsEnabled 플래그와 토글의 값이 상충하는 경우, 'Facebook SDK 자동 이벤트 로깅’ 토글의 값을 따릅니다. 수집되는 정보 및 자동 앱 이벤트 로깅을 비활성화하는 방법에 대한 자세한 내용은 자동 앱 이벤트 로깅을 참조하세요.

Unity SDK에서는 기본적으로 자동 로깅된 이벤트가 활성화되어 있습니다. 자동 이벤트 로깅을 활성화 또는 비활성화하려면 Unity IDE 메뉴 모음에서 Facebook -> 설정 편집으로 이동하여 앱 이벤트 설정 섹션에서 앱 이벤트 자동 로깅을 선택하거나 선택을 해제합니다.

Fb.MobileSetAutoLogAppEventsEnabled() 메서드를 false로 설정하여 이벤트 자동 로깅을 프로그래밍 방식으로 비활성화할 수 있습니다.

FB.Mobile.SetAutoLogAppEventsEnabled(false); 

최종 사용자에게 동의를 받은 후 자동 로깅을 다시 활성화하고 싶은 경우가 있습니다. 이 경우에는 SetAutoLogAppEventsEnabled() 메서드를 true로 설정할 수 있습니다.

FB.Mobile.SetAutoLogAppEventsEnabled(true); 

광고주 ID 수집 비활성화

Unity SDK에서는 기본적으로 광고주 ID 수집이 활성화되어 있습니다. 광고주 ID 수집을 활성화 또는 비활성화하려면 Unity IDE 메뉴 모음에서 Facebook -> 설정 편집으로 이동하여 앱 이벤트 설정 섹션에서 광고주 ID 수집을 선택하거나 선택을 해제합니다.

Fb.MobileSetAdvertiserIDCollectionEnabled () 메서드를 false로 설정하면 광고주 ID 수집을 프로그래밍 방식으로 비활성화할 수 있습니다.

FB.Mobile.SetAdvertiserIDCollectionEnabled (false);

최종 사용자에게 동의를 받은 후 광고주 ID 수집을 다시 활성화하고 싶은 경우가 있습니다. 이 경우에는 SetAdvertiserIDCollectionEnabled() 메서드를 true로 설정할 수 있습니다.

FB.Mobile.SetAdvertiserIDCollectionEnabled (true);