Rozszerzanie Google Analytics za pomocą Cloud Functions

Google Analytics udostępnia raporty o zdarzeniach, które pomagają zrozumieć, jak użytkownicy korzystają z aplikacji. Dzięki Cloud Functions (1 generacji) możesz uzyskiwać dostęp do zarejestrowanych na urządzeniach Apple i Android zdarzeniach konwersji oraz uruchamiać funkcje na ich podstawie.

Aktywowanie funkcji Google Analytics

Cloud Functions obsługuje Google Analytics AnalyticsEvent. To zdarzenie jest wywoływane za każdym razem, gdy aktywność użytkownika generuje zdarzenie konwersji. Możesz np. napisać funkcję, która jest wywoływana, gdy generowane jest zdarzenie in_app_purchase, co oznacza, że nastąpił zakup w aplikacji. Musisz określić zdarzenie Analytics, które ma aktywować funkcję, za pomocą metody functions.analytics.event(), i obsługiwać zdarzenie w ramach modułu obsługi zdarzeń onLog():

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

Atrybuty zdarzeń

W przypadku każdego zdarzenia Analytics masz dostęp do wszystkich odpowiednich parametrów i właściwości użytkownika. Obejmują one informacje o użytkowniku, urządzeniu, aplikacji i lokalizacji zdarzenia. Pełną listę parametrów i właściwości użytkownika znajdziesz w dokumentacji functions.analytics.

W przypadku funkcji wywoływanej przez zakup jak pokazano w tym przykładzie, warto uzyskać dostęp do atrybutów użytkownika, takich jak jego język i wartość zdarzenia (valueInUSD). Ten drugi atrybut umożliwia funkcji przykładowej sprawdzenie, czy jest to zdarzenie konwersji o dużej wartości, i pozwala na wysyłanie kuponów o większej wartości do wartościowych klientów.

/**
 * 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);
});

Dalsze kroki

Więcej informacji o obsługiwaniu zdarzeń AnalyticsCloud Functions znajdziesz w dokumentacji Google Analytics i dokumentacji referencyjnej functions.analytics. Możesz też uruchomić przykładowy kod coupon-on-purchase.