Facebook 게임을 위한 앱 이벤트

Facebook SDK(JS) 앱 이벤트 API가 사용 중단되어 2022년 7월 1일부터 지원되지 않습니다. 이 제품에 새로운 기능을 추가할 계획은 없습니다. FB.AppEvents.LogEvent를 사용하는 대신 Meta 픽셀을 통해 이러한 이벤트를 보내는 것이 좋습니다.

앱 이벤트를 사용하면 광고 성과를 측정하고 Facebook 게임에 대한 광고 타게팅을 위한 타겟을 빌드할 수 있습니다.

이 단계는 Javascript용 Facebook SDK를 통해 앱에서 이벤트를 전송하여 완료할 수 있습니다. 이 이벤트는 커머스 앱의 '장바구니에 추가됨'이나 게임의 '레벨 달성, 기타 맞춤 이벤트와 같이 미리 정의된 이벤트 중 하나일 수 있습니다.

필수 조건

이벤트를 측정할 코드를 포함하기 전에 Facebook에 앱을 등록해야 합니다. Facebook에 앱을 등록하지 않았다면 Facebook 게임 빠른 시작에서 등록할 수 있습니다.

구현

Facebook 게임은 이미 Javascript용 Facebook SDK를 포함하고 있을 것입니다. 그렇지 않을 경우 JavaScript 빠른 시작 가이드를 참조하세요.

Facebook 이벤트 관리자를 사용하여 로깅된 이벤트를 확인할 수 있습니다.

이벤트의 자동 로깅

Facebook에서는 Facebook 게임에 대해 다음의 이벤트를 자동으로 로깅합니다.

  • 앱 설치: 사용자가 앱 서비스 약관을 처음 수락하는 시점입니다.
  • 앱 시작됨: 사용자가 앱이 포함된 웹페이지를 여는 임의의 시점입니다.

Facebook을 통한 결제를 활성화한 경우 다음의 추가적 이벤트가 로깅됩니다.

  • 결제 시작됨: 사용자가 구매를 위해 결제 프로세스를 시작합니다.
  • 구매함: 사용자가 앱에서 결제를 성공적으로 완료합니다.
  • 구매 취소됨: 사용자가 결제를 취소합니다(수동으로 취소한 결제 및 결제 수단이 실패한 경우 포함).

참고: 구매 취소됨 이벤트는 사용자가 구매 중에 브라우저 창을 닫으면 로깅되지 않을 수 있습니다. 그래서 구매 취소됨 이벤트가 결제 시작됨 이벤트와 구매 이벤트 사이의 차이와 일치하지 않을 수 있습니다.

Facebook 이벤트 관리자를 사용하여 로깅된 이벤트를 확인할 수 있습니다.

매개변수와 함께 이벤트 로깅

Facebook.com에서 앱 성능을 더 효과적으로 측정하기 위해 자동으로 로깅된 이벤트 외에도 정보를 로깅할 수 있습니다. 예를 들어 누군가가 게임에서 어떤 레벨을 완료할 때마다 이벤트를 로깅하고 싶을 수 있습니다.

이벤트를 설명하는 매개변수와 함께 이벤트를 로깅하는 방법의 예시는 아래와 같습니다.

var params = {};
params[FB.AppEvents.ParameterNames.LEVEL] = '12'; //player level
FB.AppEvents.logEvent(
  FB.AppEvents.EventNames.ACHIEVED_LEVEL,
  null,  // numeric value for this event - in this case, none
  params
);

사전 정의된 이벤트 중 하나를 사용하는 것이 좋습니다. 그러나 맞춤 이벤트 로깅도 지원됩니다.

서로 다른 이벤트 이름을 최대 1,000개까지 사용할 수 있습니다. 참고: 이 한도에 도달하면 새로운 이벤트 유형이 로깅되지 않으며, 한도를 초과하면 로깅 시 100 Invalid parameter 오류가 표시될 수 있습니다. 이벤트 한도에 대한 자세한 내용은 FAQ를 참조하세요.

구매 로깅

Facebook SDK에는 구매 로깅을 위한 전용 함수가 있는데, 이때 통화를 지정해야 합니다.

Facebook 게임을 통한 결제는 구매 이벤트로 자동 로깅됩니다. 다음의 코드는 물리적 제품의 판매를 위해서만 사용해야 합니다.

var params = {};
params[FB.AppEvents.ParameterNames.CONTENT_ID] = 'QW-12345';
FB.AppEvents.logPurchase(98.76, 'USD', params);

사전 정의된 매개변수를 사용하려면 매개변수 개체를 만들고 나서 아래와 같이 함수에 전달합니다.

var params = {};
params[FB.AppEvents.ParameterNames.CONTENT_ID] = '12345';
FB.AppEvents.logPurchase(98.76, 'USD', params);

맞춤 앱 이벤트

이름을 문자열로 지정하여 맞춤 이벤트를 만들 수도 있습니다.

FB.AppEvents.logEvent('battledAnOrc');

맞춤형 이벤트 이름의 최대 길이는 40자이고 영숫자, 밑줄 또는 대시로만 구성해야 합니다.

예외 발견

제공된 SDK JavaScript 함수를 잘못된 매개변수로 호출하는 경우, 함수에서 예외가 발생합니다. 코드가 올바른 매개변수를 전달하도록 하고 예외가 발생하면 찾아냅니다.

디버그하기

성능을 개선하기 위해 JavaScript SDK를 최소화하여 읽어들입니다. 최소화되지 않은 상태에서 더 많은 로깅과 더욱 엄격한 인수 검사를 포함한 JavaScript SDK의 디버그 버전을 읽어들일 수도 있습니다. 이를 위해서는 읽어들이는 코드에서 js.src 값을 다음으로 변경합니다.

js.src = "https://connect.facebook.net/en_US/sdk/debug.js";

참고 자료