Mở rộng Google Analytics bằng Cloud Functions

Google Analytics cung cấp báo cáo sự kiện giúp bạn hiểu cách người dùng tương tác với ứng dụng của bạn. Với Cloud Functions (thế hệ thứ 1), bạn có thể truy cập vào các sự kiện chuyển đổi mà bạn đã ghi lại trên thiết bị Apple và Android, đồng thời kích hoạt các hàm dựa trên những sự kiện đó.

Kích hoạt một hàm trong Google Analytics

Cloud Functions hỗ trợ Google Analytics AnalyticsEvent. Sự kiện này được kích hoạt bất cứ khi nào hoạt động của người dùng tạo ra một sự kiện chuyển đổi. Ví dụ: bạn có thể viết một hàm kích hoạt khi sự kiện in_app_purchase được tạo, cho biết rằng có một giao dịch mua hàng trong ứng dụng đã xảy ra. Bạn phải chỉ định sự kiện Analytics mà bạn muốn kích hoạt hàm bằng phương thức functions.analytics.event() và xử lý sự kiện đó trong trình xử lý sự kiện onLog():

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

Truy cập vào các thuộc tính sự kiện

Với mỗi sự kiện Analytics, bạn có quyền truy cập vào tất cả các thông số và thuộc tính người dùng có liên quan. Thông tin này bao gồm thông tin về người dùng, thiết bị, ứng dụng và thông tin địa lý về sự kiện. Để biết danh sách đầy đủ các tham số và thuộc tính người dùng, hãy xem tài liệu tham khảo functions.analytics.

Đối với hàm được kích hoạt bởi giao dịch mua như minh hoạ trong mẫu này, bạn có thể cần truy cập vào các thuộc tính người dùng, chẳng hạn như ngôn ngữ của người dùng và giá trị của sự kiện (valueInUSD). Thuộc tính thứ hai này cho phép hàm mẫu kiểm tra xem đây có phải là sự kiện chuyển đổi có giá trị cao hay không, nhằm gửi phiếu giảm giá có giá trị cao hơn cho những khách hàng có giá trị.

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

Các bước tiếp theo

Để tìm hiểu thêm về cách xử lý các sự kiện Analytics trong Cloud Functions, hãy xem tài liệu về Google Analytics và tài liệu tham khảo về functions.analytics, đồng thời thử chạy mã mẫu Phiếu giảm giá khi mua hàng.