如何设置自定义目标指标是使用Paramater.VALUE进行跟踪以进行Firebase A / B测试的事件

问题描述

在我的A / B测试(使用远程配置)中,我想根据用户的日常参与情况了解哪种版本的效果更好。

由于我无法在仪表板上看到内置的目标指标“每日用户参与度”,因此我想创建自定义

我可以在A / B测试中使用参数VALUE跟踪事件并将其设置为目标指标(基于其值)吗? 这是想做的事情:

// Firebase Unity SDK
FirebaseAnalytics.LogEvent("time_spent",FirebaseAnalytics.ParameterValue,time_spent_in_seconds);

谢谢。

解决方法

在类中声明一个事件,在该事件中您要触发通风孔。我不知道FirebaseAnalytics.ParameterValue的类型,因为我不熟悉Firebase或您的应用程序。我将假设其为字符串:

public event EventHandler<string> raiseFirebaseEvent;

在代码中的任何地方(通常是声明事件的不同类,在调用该事件后是相同的),您都需要向该事件添加一个侦听器,这意味着向该事件添加一个方法,然后在该事件之后调用在事件触发器中。

在另一个类中,您将有一个方法可以订阅该事件:

prevate void FireBaseLogger(FirebaseAnalytics.ParameterValue value) {
    FirebaseAnalytics.LogEvent("time_spent",value,time_spent_in_seconds);
} 

time_spent_in_seconds应该是这个其他类的变量。

在此类的某个地方,通常是在构造函数中,或者您确定可以确保代码喷射通过的某个地方,您应该订阅该事件。为此,您需要引用事件持有人类的引用,在该类中声明了事件:

EventHolderClassInstance.raiseFirebaseEvent += FireBaseLogger;

订阅中没有传递任何参数,只是方法。

然后,在EventHolderClass中,当您调用事件并传递字符串参数时,只要在调用之前完成订阅,就会调用订阅的方法。

raiseFirebaseEvent?.Invoke(this,FirebaseAnalytics.ParameterValue);

当没有预订的方法时,raiseFirebaseEvent为null,这就是问号的用途。如果没有先前的订阅,则raiseFirebaseEvent为空,则什么也没有发生。

如果FirebaseAnalytics.ParameterValue不是字符串类型,请在添加了侦听器或进行了相同定义的类中,在事件和预订的私有方法中,相应地更改类型。 不知道那是你在问什么。