Firebase屏幕跟踪会调用"screen_view"事件两次 [英] Firebase Screen Tracking calls "screen_view" event twice

查看:364
本文介绍了Firebase屏幕跟踪会调用"screen_view"事件两次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用Firebase Analytics的屏幕跟踪功能.
这是我的应用程序中的屏幕代码.我想跟踪到此屏幕的过渡,并在viewDidAppear中设置原始屏幕名称.

import UIKit
import Firebase

class Section1412: UIViewController {

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(true)
        Analytics.setScreenName("Sceeen1.4.1.2", screenClass: "Section1412")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

但是,即使我只进行了一次屏幕转换,但screen_view事件却被调用了两次.

第一:

2017-10-25 20:16:49.109820+0900 iOSTestApp[14863:709645]Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), 
{
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = Section1412;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = 6534403927247648702;
    firebase_previous_class (_pc) = NativeTableViewController;
    firebase_previous_id (_pi) = 6534403927247648701;
}  

第二:

2017-10-25 20:16:49.115297+0900 iOSTestApp[14863:709645] [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs),
{
    firebase_event_origin (_o) = auto;
    firebase_screen (_sn) = Screen1.4.1.2;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = Section1412;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = 6534403927247648703;
    firebase_previous_class (_pc) = Section1412;
    firebase_previous_id (_pi) = 6534403927247648702;
}  

两者都在大约1秒钟内被调用.第一个没有firebase_screen键,而第二个在firebase_previous_class键中具有相同的类名.
它是Firebase规范吗?还是我的代码有任何错误?

解决方案

来自Firebase团队:这种情况将发生在包含其他视图控制器(父子关系)的视图控制器上,因此您的代码没有任何问题.

I try to use Screen Tracking feature of Firebase Analytics.
Here's the code of a screen in my app. I'd like to track transitions to this screen, and set the original screen name in viewDidAppear.

import UIKit
import Firebase

class Section1412: UIViewController {

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(true)
        Analytics.setScreenName("Sceeen1.4.1.2", screenClass: "Section1412")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

But Even though I made screen transition only once, screen_view event is called twice.

1st:

2017-10-25 20:16:49.109820+0900 iOSTestApp[14863:709645]Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), 
{
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = Section1412;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = 6534403927247648702;
    firebase_previous_class (_pc) = NativeTableViewController;
    firebase_previous_id (_pi) = 6534403927247648701;
}  

2nd:

2017-10-25 20:16:49.115297+0900 iOSTestApp[14863:709645] [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs),
{
    firebase_event_origin (_o) = auto;
    firebase_screen (_sn) = Screen1.4.1.2;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = Section1412;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = 6534403927247648703;
    firebase_previous_class (_pc) = Section1412;
    firebase_previous_id (_pi) = 6534403927247648702;
}  

Both are called within about 1 sec. 1st has no firebase_screen key, and 2nd has the same class name in firebase_previous_class key.
Is it a Firebase specification? Or is there any mistake in my code?

解决方案

From Firebase team: This case would happen for view controllers that contained other view controllers (parent-child relationship) so there is nothing wrong with your code.

这篇关于Firebase屏幕跟踪会调用"screen_view"事件两次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆