Ampliar o Google Analytics com o Cloud Functions

O Google Analytics fornece relatórios de eventos que ajudam você a entender como os usuários interagem com seu app. Com o Cloud Functions (1ª geração), é possível acessar eventos de conversão registrados em dispositivos Apple e Android e acionar funções com base neles.

Acionar uma função de Google Analytics

O Cloud Functions oferece suporte ao AnalyticsEvent do Google Analytics. Esse evento é acionado sempre que a atividade do usuário gera um evento de conversão. Por exemplo, é possível escrever uma função que é acionada quando o evento in_app_purchase é gerado, indicando que ocorreu uma compra no app. Você precisa especificar o evento do Analytics que acionará a função usando o método functions.analytics.event() e supervisionar o evento no manipulador de eventos onLog():

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

Acessar os atributos do evento

Com cada evento do Analytics, você tem acesso a todos os parâmetros e propriedades do usuário relevantes. Isso inclui informações sobre o usuário, o dispositivo, o app e as informações geográficas do evento. Para ter acesso à lista completa de parâmetros e propriedades do usuário, consulte a referência de functions.analytics.

Para uma função acionada por compra, como neste exemplo, acesse os atributos dos usuários, como idioma e valor do evento (valueInUSD). Com esse segundo atributo, a função de exemplo pode ser usada para verificar se é um evento de conversão de alto valor e, então, enviar um cupom de valor mais alto a clientes valiosos.

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

Próximas etapas

Para saber como processar eventos do Analytics em Cloud Functions, consulte a documentação de Google Analytics e a referência de functions.analytics. Além disso, tente executar o exemplo de código coupon-on-purchase.