带有参数的 Firebase 自定义事件是否需要额外的 time/setup 才能在调试视图中显示
Does Firebase Custom event with Parameters requires extra time/setup to show in Debug View
当我调用此函数时,debug.log 正确显示,但在 DebugView
中根本不显示 firebase 事件
public void fb_GameFail(int id)
{
Debug.Log("FIREBASE EVENT: LEVEL FAILED @Lvl " + (id + 1));
FirebaseAnalytics.LogEvent("level_fail:", "failID", (id + 1));
//FirebaseAnalytics.LogEvent("dead_player");
}
然而,如果我评论"level_fail"事件,并启用"dead_player"事件(一个带参数,另一个不带参数),"dead_player"事件正确且实时地出现在调试视图中。
我在这里遗漏了什么吗?自定义事件是否需要更多时间才能出现?
我不明白的是我确实有另一个带有参数的事件并且它正确显示:
其代码与"level_fail"事件完全相同:
public void fb_LevelUp(int id)
{
Debug.Log("FIREBASE EVENT: LEVEL COMPLETE @Lvl " + (id + 1));
FirebaseAnalytics.LogEvent("level_up", "ID", id + 1);
}
但这一直是我开始使用 firebase 以来的主要问题,"level_up" 事件从第一天起就完美显示,而 "level_fail" 则没有,我唯一可以补充的是最初这两个事件都有相同的参数名称,它们都使用名为 "ID"
的文本
FirebaseAnalytics.LogEvent("level_up", "ID", id + 1);
FirebaseAnalytics.LogEvent("level_fail", "ID", id + 1);
但我非常怀疑这会是问题所在。
PS:
我记得点击"Level_up"事件前的“3点”启用参数跟踪,问题是"level_fail"事件从不出现了。
此外,如果不清楚,我将 Firebase 与 Unity (2018.1.0f2) 结合使用。
谢谢!
编辑:
忘了说我也试过用一个参数发送一个测试事件,它也有效:
但是当使用 "levelFail" 事件做同样的事情时,没有任何显示:
private void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
// FirebaseAnalytics.LogEvent("testingEVENT", "testID", Random.Range(0, 10));
fb_GameFail(GameManager._gameManager._currentLevel);
}
}
知道 logcat 表明方法被正确调用:
来自您的代码:
public void fb_GameFail(int id)
{
Debug.Log("FIREBASE EVENT: LEVEL FAILED @Lvl " + (id + 1));
FirebaseAnalytics.LogEvent("level_fail:", "failID", (id + 1));
//FirebaseAnalytics.LogEvent("dead_player");
}
我看到您在 "level_fail" 的事件名称中使用了分号。据我所知,自定义事件名称只能包含字母、数字和下划线。也许这就是导致问题的原因?
更新:感谢@Pux0r3 为文档提供相关的link:firebase.google.com/docs/reference/cpp/group/event-names
当我调用此函数时,debug.log 正确显示,但在 DebugView
中根本不显示 firebase 事件public void fb_GameFail(int id)
{
Debug.Log("FIREBASE EVENT: LEVEL FAILED @Lvl " + (id + 1));
FirebaseAnalytics.LogEvent("level_fail:", "failID", (id + 1));
//FirebaseAnalytics.LogEvent("dead_player");
}
然而,如果我评论"level_fail"事件,并启用"dead_player"事件(一个带参数,另一个不带参数),"dead_player"事件正确且实时地出现在调试视图中。
我在这里遗漏了什么吗?自定义事件是否需要更多时间才能出现?
我不明白的是我确实有另一个带有参数的事件并且它正确显示:
其代码与"level_fail"事件完全相同:
public void fb_LevelUp(int id)
{
Debug.Log("FIREBASE EVENT: LEVEL COMPLETE @Lvl " + (id + 1));
FirebaseAnalytics.LogEvent("level_up", "ID", id + 1);
}
但这一直是我开始使用 firebase 以来的主要问题,"level_up" 事件从第一天起就完美显示,而 "level_fail" 则没有,我唯一可以补充的是最初这两个事件都有相同的参数名称,它们都使用名为 "ID"
的文本FirebaseAnalytics.LogEvent("level_up", "ID", id + 1);
FirebaseAnalytics.LogEvent("level_fail", "ID", id + 1);
但我非常怀疑这会是问题所在。
PS:
我记得点击"Level_up"事件前的“3点”启用参数跟踪,问题是"level_fail"事件从不出现了。
此外,如果不清楚,我将 Firebase 与 Unity (2018.1.0f2) 结合使用。
谢谢!
编辑:
忘了说我也试过用一个参数发送一个测试事件,它也有效:
但是当使用 "levelFail" 事件做同样的事情时,没有任何显示:
private void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
// FirebaseAnalytics.LogEvent("testingEVENT", "testID", Random.Range(0, 10));
fb_GameFail(GameManager._gameManager._currentLevel);
}
}
知道 logcat 表明方法被正确调用:
来自您的代码:
public void fb_GameFail(int id)
{
Debug.Log("FIREBASE EVENT: LEVEL FAILED @Lvl " + (id + 1));
FirebaseAnalytics.LogEvent("level_fail:", "failID", (id + 1));
//FirebaseAnalytics.LogEvent("dead_player");
}
我看到您在 "level_fail" 的事件名称中使用了分号。据我所知,自定义事件名称只能包含字母、数字和下划线。也许这就是导致问题的原因?
更新:感谢@Pux0r3 为文档提供相关的link:firebase.google.com/docs/reference/cpp/group/event-names