Catch up on highlights from Firebase at Google I/O 2023. Learn more

使用 Cloud Functions 擴展 Google Analytics

Google Analytics 提供事件報告,幫助您了解用戶如何與您的應用互動。借助 Cloud Functions(第一代),您可以訪問從 Apple 和 Android 設備記錄的轉化事件,並根據這些事件觸發函數。

觸發 Google Analytics 函數

Cloud Functions 支持 Google Analytics AnalyticsEvent 。只要用戶活動生成轉換事件,就會觸發此事件。例如,您可以編寫一個函數,在生成in_app_purchase事件時觸發,指示發生應用內購買。您必須使用functions.analytics.event()方法指定要觸發函數的 Analytics 事件,並在onLog()事件處理程序中處理該事件:

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

訪問事件屬性

對於每個 Analytics 事件,您都可以訪問所有相關參數和用戶屬性。其中包括有關用戶、設備、應用程序的信息以及事件的地理信息。有關參數和用戶屬性的完整列表,請參閱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 中處理 Analytics 事件的更多信息,請參閱Google Analytics 文檔functions.analytics參考,並嘗試運行代碼示例coupon-on-purchase