使用 Firebase Analytics 跟踪 Android 应用内订阅事件

Posted

技术标签:

【中文标题】使用 Firebase Analytics 跟踪 Android 应用内订阅事件【英文标题】:Tracking Android in-app subscription events with Firebase Analytics 【发布时间】:2017-01-22 01:49:36 【问题描述】:

我们正在使用 Firebase Analytics 来跟踪我们的 android 应用。 我们已将其连接到我们的 Google Play 帐户,希望能收到自动的in_app_purchase 事件。我们后来意识到不支持应用内订阅:https://support.google.com/firebase/answer/6317485?hl=en

我们如何跟踪订阅收入事件? 我们考虑使用ecommerce_purchase 事件(https://support.google.com/firebase/answer/6317499?hl=en),以便我们可以跟踪用户的 ARPU、ARPPU 和 LTV。

我们面临的问题是处理订阅重复。我们是否应该每月/每年手动发送此事件并在取消订阅后停止发送?这似乎是一个容易出错的 hack ...

还有其他想法吗?

谢谢!

【问题讨论】:

我目前面临同样的问题,情况特别令人沮丧。使用ecommerce_purchase 似乎是目前唯一的选择,但是听听谷歌的官方意见会很有趣,是否会在以后引入对此的支持。关于定期订阅,没有明确的方法可以跟踪它们。例如,如果一个人要购买按月收费的订阅,但在此期间没有打开应用程序,则无法确定他们是否实际收费。 @Kazimieras 还没想过用户一个月后不打开应用的问题。这是一个真正的问题。我联系了 Firebase 支持并收到了以下回复:我们清楚地知道,许多开发者,例如您自己,都希望自动跟踪应用内订阅。我们正在探索潜在的解决方案,但我目前无法分享任何细节或时间表他们还建议手动发送ecommerce_purchase 事件。 @alechko 手动发送ecommerce_purchase 事件?我以为你只能手动发送。有没有办法让订阅购买自动触发它而无需从代码中调用它? 【参考方案1】:

如果您想使用您所描述的技术,您可以通过subscriptions API 从您的服务器跟踪 google 订阅事件是处于活动状态还是被取消。

如果您轮询此 API,您应该能够确定何时将 ecommerce_purchase 事件发送到 firebase。

这是一个轮询Google Play API 的 ruby​​ 示例。您可以使用类似的技术轮询iTunes API。

【讨论】:

【参考方案2】:

我猜你需要的是Real-time developer notifications。

您也可以查看移动端和服务器端here的官方实现。

【讨论】:

【参考方案3】:

订阅是在应用程序中衡量和跟踪的复杂事物,因为应用程序可能无法获得取消/更改事件,因此会继续跟踪不再存在的内容。这会导致数据损坏和不可信。

因此,我们将其实现如下:

客户端: 我们将所有创建、更改和取消作为自定义事件进行跟踪。

服务器端: 每当我们收取订阅费用时,我们都会将此作为“购买”事件进行跟踪。因此,计算出的用户生命周期价值是正确的,我们仍然有一个包含用户所做的所有操作、更改……的工作流。

我真的可以推荐这个解决方案,因为 - 尽管它稍微复杂一些 - 允许您跟踪完整的用户旅程,同时拥有正确的 firebase 统计数据。

【讨论】:

【参考方案4】:

首先,要跟踪所有应用内订阅事件,您需要验证来自后端的收据。否则,如果用户不打开应用程序,则无法获得续订、退款和其他订阅事件。 然后您需要将事件发送到 Firebase。 我们为此制定了解决方案,您可以查看here。

【讨论】:

请不要只为自己的产品做广告,而是尝试解释如果没有这样的产品怎么做。并且也许建议您的解决方案以节省时间/精力。

以上是关于使用 Firebase Analytics 跟踪 Android 应用内订阅事件的主要内容,如果未能解决你的问题,请参考以下文章

Firebase+GTM SDK - 在 Google Analytics 中跟踪异常和崩溃

Firebase Analytics 未跟踪 Vue 路由器路由

无法使用 Unity 在 Firebase-Analytics 中获取自定义参数

Google Analytics for Firebase:如何分析事件 [关闭]

来自 iOS 的 Firebase Analytics 事件未显示

将 React Router 页面视图发送到 Firebase Analytics