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

Google Analytics cung cấp các 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ệ 1), bạn có thể truy cập vào các sự kiện chuyển đổi mà bạn đã ghi lại từ các thiết bị Apple và Android, đồng thời kích hoạt các hàm dựa trên các sự kiện đó.

Kích hoạt hàm 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 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 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 liên quan. Các 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ý của 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 về functions.analytics.

Đối với hàm được kích hoạt bằng giao dịch mua như minh hoạ trong mẫu này, bạn nên truy cập vào các thuộc tính người dùng 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 để gửi phiếu giảm giá có giá trị cao hơn cho 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 functions.analytics, đồng thời thử chạy mã mẫu coupon-on-purchase.