0

在我的 A/B 测试(使用远程配置)中,我想知道根据日常用户参与度哪个变体表现更好。

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

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

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

谢谢你。

4

1 回答 1

0

在要触发发泄的类中声明一个事件。我不知道类型,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为空时,这就是问号的用途。如果没有先前的订阅raiseFirebaseEvent为空,并且没有任何反应。

如果FirebaseAnalytics.ParameterValue不是字符串类型,请在事件中和在添加侦听器的类中订阅的私有方法中相应地更改类型,或者在订阅的地方进行相应的更改,这意味着相同。不确定这是否是您要问的。

于 2020-08-16T13:49:51.643 回答