簡體   English   中英

手動屏幕跟蹤在 Firebase (iOS) 中不起作用

[英]Manual screen tracking not working in Firebase (iOS)

我正在嘗試禁用 Firebase 中的手動屏幕跟蹤,將其替換為我自己的屏幕跟蹤實現。

通過自動屏幕跟蹤,我發送到 firebase 的每個事件都有兩個額外的參數: firebase_screen_classfirebase_screen_id以及應用程序中顯示的最后一個 ViewController 的值

所以我修改了應用程序的Info.plist文件:

FirebaseScreenReportingEnabled = NO

當應用程序的屏幕發生變化時,我開始調用該函數:

Analytics.setScreenName(screenName, screenClass: screenName)

此更改后的結果是 Firebase 的 DebugView 不再注冊screen_view事件,並且沒有附加信息( firebase_screen_classfirebase_screen_id )附加到以后的事件。

我缺少什么?

編輯:這些是 podfile.lock 中與 Google 相關的 pod

  - 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)

我從 Firebase 得到答案,在 iOS 上,他們支持自動 + 手動屏幕報告或根本不支持屏幕報告。 Google Analytics for Firebase 不支持僅手動屏幕報告的情況。 plist 標志FirebaseAutomaticScreenReportingEnabled已重命名為FirebaseScreenReportingEnabled以減少這種混淆。 請注意,該值必須是布爾值而不是字符串。 如果它沒有按預期工作,您可以通過向 Info.plist 添加布爾值為 NO 的標志FirebaseScreenReportingEnabled來完全禁用屏幕報告。

現在已經修復了 - 盡管答案還沒有向下流動以更新 Stackoverflow 問題。

我在這個Firebase github 票證上找到了解決方案

從本質上講,這最近已得到修復,以便為開發人員的項目提供更大的靈活性。 只要您更新為使用版本 6.29.0 或更高版本,您就應該能夠根據需要進行報告。

最新的變化已經擺脫了setScreen功能,現在只使用事件。

日志事件:

Firebase.Analytics.logEvent(name, parameters: parameters)

日志屏幕視圖

Firebase.Analytics.logEvent(AnalyticsEventScreenView, parameters:[AnalyticsParameterScreenName: screenName])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM