首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Firebase中不工作的手动屏幕跟踪(iOS)

在Firebase中不工作的手动屏幕跟踪(iOS)
EN

Stack Overflow用户
提问于 2017-10-18 16:56:12
回答 2查看 5.6K关注 0票数 3

我试图禁用Firebase中的手动屏幕跟踪,用我自己的屏幕跟踪实现来替换它。

通过自动屏幕跟踪,我发送到firebase的每个事件都有两个额外的参数:firebase_screen_classfirebase_screen_id,其值为应用程序中最后一个ViewController的值。

所以我用以下方式修改了应用程序的Info.plist文件:

代码语言:javascript
复制
FirebaseScreenReportingEnabled = NO

当应用程序的屏幕发生变化时,我开始调用该函数:

代码语言:javascript
复制
Analytics.setScreenName(screenName, screenClass: screenName)

更改后的结果是,Firebase的DebugView不再注册screen_view事件,也不再向后续事件附加额外的信息(firebase_screen_classfirebase_screen_id)。

我错过了什么?

编辑:--这些是podfile.lock中与谷歌相关的豆荚

代码语言:javascript
复制
  - Firebase/AdMob (4.2.0):
    - Firebase/Core
    - Google-Mobile-Ads-SDK (= 7.24.0)
  - Firebase/Core (4.2.0):
    - FirebaseAnalytics (= 4.0.3)
    - FirebaseCore (= 4.0.7)
  - Firebase/RemoteConfig (4.2.0):
    - Firebase/Core
    - FirebaseRemoteConfig (= 2.0.3)
  - FirebaseAnalytics (4.0.3):
    - FirebaseCore (~> 4.0)
    - FirebaseInstanceID (~> 2.0)
    - GoogleToolboxForMac/NSData+zlib (~> 2.1)
    - nanopb (~> 0.3)
  - FirebaseCore (4.0.7):
    - GoogleToolboxForMac/NSData+zlib (~> 2.1)
    - nanopb (~> 0.3)
  - FirebaseInstanceID (2.0.3)
  - FirebaseRemoteConfig (2.0.3):
    - FirebaseAnalytics (~> 4.0)
    - FirebaseInstanceID (~> 2.0)
    - GoogleToolboxForMac/NSData+zlib (~> 2.1)
    - Protobuf (~> 3.1)
  - Google-Mobile-Ads-SDK (7.24.0)
  - GoogleAnalytics (3.17.0)
  - GoogleSignIn (4.1.0):
    - GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)
    - GoogleToolboxForMac/NSString+URLArguments (~> 2.1)
    - GTMOAuth2 (~> 1.0)
    - GTMSessionFetcher/Core (~> 1.1)
  - GoogleToolboxForMac/DebugUtils (2.1.1):
    - GoogleToolboxForMac/Defines (= 2.1.1)
  - GoogleToolboxForMac/Defines (2.1.1)
  - GoogleToolboxForMac/NSData+zlib (2.1.1):
    - GoogleToolboxForMac/Defines (= 2.1.1)
  - GoogleToolboxForMac/NSDictionary+URLArguments (2.1.1):
    - GoogleToolboxForMac/DebugUtils (= 2.1.1)
    - GoogleToolboxForMac/Defines (= 2.1.1)
    - GoogleToolboxForMac/NSString+URLArguments (= 2.1.1)
  - GoogleToolboxForMac/NSString+URLArguments (2.1.1)
  - GTMOAuth2 (1.1.5):
    - GTMSessionFetcher (~> 1.1)
  - GTMSessionFetcher (1.1.12):
    - GTMSessionFetcher/Full (= 1.1.12)
  - GTMSessionFetcher/Core (1.1.12)
  - GTMSessionFetcher/Full (1.1.12):
    - GTMSessionFetcher/Core (= 1.1.12)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-24 17:07:29

我从Firebase那里得到的答案是,在iOS上,他们支持自动+手动屏幕报告,或者根本不支持屏幕报告。for Firebase不支持手动屏幕报告的情况.已将plist标志FirebaseAutomaticScreenReportingEnabled重命名为FirebaseScreenReportingEnabled,以减少这种混淆。注意,该值必须是布尔值,而不是字符串。如果它不像您预期的那样工作,您可以完全禁用屏幕报告,方法是向FirebaseScreenReportingEnabled添加标志Info.plist,其布尔值为NO。

票数 4
EN

Stack Overflow用户

发布于 2020-08-26 04:41:59

这一点现在已经解决了--尽管答案还没有流下来来更新Stackoverflow问题。

我在 Firebase github票证上找到了解决方案

从本质上说,最近已经解决了这一问题,以使开发人员在他们的项目中具有更大的灵活性。只要您更新使用版本6.29.0或更高版本,那么您应该能够报告您想要的。

最近的更改已经消除了setScreen功能,现在只使用事件。

日志事件:

代码语言:javascript
复制
Firebase.Analytics.logEvent(name, parameters: parameters)

日志屏幕视图

代码语言:javascript
复制
Firebase.Analytics.logEvent(AnalyticsEventScreenView, parameters:[AnalyticsParameterScreenName: screenName])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46815428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档