带参数的Firebase自定义事件是否需要额外的时间/设置才能在Debug View中显示

时间:2019-07-18 19:02:42

标签: android firebase unity3d firebase-analytics

当我调用此函数时,debug.log会正确显示,但是firebase事件在DebugView中根本不显示

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”事件会在DebugView中正确并实时显示。

我在这里想念什么吗?具有自定义事件的事件是否需要花费更多时间出现?

我不明白的是,我确实有另一个带有参数的事件,它可以正确显示:

enter image description here

及其代码与“ 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”事件。

如果还不清楚,请在Unity(2018.1.0f2)中使用Firebase。

谢谢!

编辑:

忘了说我也尝试用参数向测试事件发送垃圾邮件,它也起作用: enter image description here

但是当做同样的事情但是带有“ levelFail”事件时,什么也没有显示:

private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            //  FirebaseAnalytics.LogEvent("testingEVENT", "testID", Random.Range(0, 10));
            fb_GameFail(GameManager._gameManager._currentLevel);
        }
    }

知道logcat显示该方法已正确调用:

enter image description here

1 个答案:

答案 0 :(得分:2)

根据您的代码:

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提供了指向文档的相关链接:firebase.google.com/docs/reference/cpp/group/event-names