Cloud Functions로 Google 애널리틱스 확장

Google 애널리틱스는 사용자가 앱과 상호작용하는 방식을 파악할 수 있는 이벤트 보고서를 제공합니다. Cloud Functions(1세대)를 사용하면 Apple 및 Android 기기에서 로깅한 전환 이벤트에 액세스하고 이러한 이벤트를 기준으로 함수를 트리거할 수 있습니다.

Google 애널리틱스 함수 트리거

Cloud Functions는 Google 애널리틱스 AnalyticsEvent를 지원합니다. 이 이벤트는 사용자 활동으로 전환 이벤트가 생성될 때마다 트리거됩니다. 예를 들어 인앱 구매가 발생했음을 나타내는 in_app_purchase 이벤트가 생성되면 트리거되는 함수를 작성할 수 있습니다. functions.analytics.event() 메서드를 사용하여 함수를 트리거할 애널리틱스 이벤트를 지정하고 onLog() 이벤트 핸들러 내에서 이벤트를 처리해야 합니다.

exports.sendCouponOnPurchase = functions.analytics.event('in_app_purchase').onLog((event) => {
  // ...
});

이벤트 속성에 액세스

각 애널리틱스 이벤트로 모든 관련 매개변수와 사용자 속성에 액세스할 수 있습니다. 여기에는 이벤트의 사용자, 기기, 앱, 지리적 정보가 포함됩니다. 매개변수와 사용자 속성의 전체 목록은 functions.analytics 참조를 확인하세요.

이 샘플에 나와 있는 것처럼 구매를 통해 트리거되는 함수의 경우 사용자 언어 및 이벤트 값(valueInUSD)과 같은 사용자 속성에 액세스할 수 있습니다. 샘플 함수는 이 두 번째 속성을 사용하여 구매력 높은 고객에게 고가의 쿠폰을 전송할 만한 가치가 있는 전환 이벤트인지를 테스트합니다.

/**
 * After a user has completed a purchase, send them a coupon via FCM valid on their next purchase.
 */
exports.sendCouponOnPurchase = functions.analytics.event('in_app_purchase').onLog((event) => {
  const user = event.user;
  const uid = user.userId; // The user ID set via the setUserId API.
  const purchaseValue = event.valueInUSD; // Amount of the purchase in USD.
  const userLanguage = user.deviceInfo.userDefaultLanguage; // The user language in language-country format.

  // For purchases above 500 USD, we send a coupon of higher value.
  if (purchaseValue > 500) {
    return sendHighValueCouponViaFCM(uid, userLanguage);
  }
  return sendCouponViaFCM(uid, userLanguage);
});

다음 단계

Cloud Functions에서 애널리틱스 이벤트를 처리하는 방법을 자세히 알아보려면 Google 애널리틱스 문서functions.analytics 참조를 확인하고 coupon-on-purchase 코드 샘플을 실행해 보세요.