Dee*_*ger 5 google-analytics ios google-tag-manager swift firebase-analytics
我需要在我的 iOS 应用程序中为 GoogleAnalytics 实施 Firebase+Google 标签管理器。
我通过为 GoogleTagManager 和 Firebase/Core 安装最新版本的 pod,在一个空白的 iOS 项目上尝试了 POC。POC 工作正常,我能够发送事件并且事件被记录到服务器上的 GA。
但是,当我安装最新版本的 GTM 和 Firebase/Core 时,同样的 GoogleServices-info.plist,同样的 GTM-XXXXXXX.json,我发现我的应用程序崩溃了,我可以看到“GoogleTagManager info: Loading container: GTM-XXXXXXX”我的控制台中的最后一行。
Removing GoogleInterchangeUtilities
Downloading dependencies
Installing Firebase 4.3.0 (was 3.7.1)
Installing FirebaseAnalytics 4.0.4 (was 3.4.4)
Installing FirebaseCore 4.0.8 (was 3.4.3)
Installing FirebaseInstanceID 2.0.4 (was 1.0.9)
Using GoogleAnalytics (3.17.0)
Using GoogleSymbolUtilities (1.1.2)
Installing GoogleTagManager 6.0.0 (was 5.0.8)
Installing GoogleToolboxForMac (2.1.3)
Using GoogleUtilities (1.3.2)
Installing nanopb (0.3.8)
Run Code Online (Sandbox Code Playgroud)
当我删除 GoogleTagManager 并只保留 FirebaseAnalytics 时,应用程序运行良好,Firebase Analytics 正在服务器上接收事件。
通过不同论坛和堆栈溢出的不同线程,我尝试将 GTM 和 Firebase 降级到 GoogleTagManager -v5.0.8 和 Firebase/Core -v3.7.1 和 FirebaseAnalytics。请注意,我没有提到 FirebaseAnalytics 的任何首选版本。令我惊讶的是,我的应用程序开始工作并且没有在任何地方中断。但是,现在我看到 Firebase 事件正在触发,但 GA 没有收到任何事件。此外,我在控制台中看到事件的参数被传递为 null。
GoogleTagManager info: Processing logged event: gtm.load with parameters: (null)
Run Code Online (Sandbox Code Playgroud)
Pod 安装日志 -
Downloading dependencies
Installing Firebase 3.7.1 (was 4.3.0)
Installing FirebaseAnalytics 3.4.4 (was 4.0.4)
Installing FirebaseCore 3.4.3 (was 4.0.8)
Installing FirebaseInstanceID 1.0.9 (was 2.0.4)
Using GoogleAnalytics (3.17.0)
Installing GoogleInterchangeUtilities (1.2.2)
Using GoogleSymbolUtilities (1.1.2)
Installing GoogleTagManager 5.0.8 (was 6.0.0)
Using GoogleUtilities (1.3.2)
Run Code Online (Sandbox Code Playgroud)
我不确定我的应用程序出了什么问题。哪个库与 Firebase 或 GoogleTagManager 冲突?相同的设置在空白项目上运行良好。
我的应用程序使用其他一堆手动添加的其他框架(不是通过 Cocoapods) - AWS Frameworks、CyptoSwift、DropDown、Timberjack、Alamofire、Charts、Gloss、SwiftValidator、SwiftyJSON、SDWebImage、AWSFacebookSignIn、AWSGoogleSignIn、Blots、FBSDKCoreKit、FBSDKLoginKit、GoogleAppUtilities 、GoogleAuthUtilities、GoogleNetworkUtilities、GoogleSignin、SafariServices。
希望这有助于确定冲突(如果有)。
我说冲突的原因是因为最新版本的 GoogleTagManager 和 Firebase 在我使用相同的 GoogleServices-info.plist 和 GTM-XXXXXXX.json 文件所做的空白应用程序 POC 中运行良好。此外,当我降级 GTM 和 Firebase 的版本时,该应用程序可以工作,但在这种情况下,GA 停止接收事件。
控制台日志:
10 月 17 日 09:39:30 XX-Shell[88944]:[Firebase/Core][I-COR000005] 尚未配置任何应用。
10 月 17 日 09:39:30 XX-Shell[88944]:[Firebase/Analytics][I-ACS024000] 调试模式已开启
10 月 17 日 09:39:30 XX-Shell[88944]:[Firebase/Analytics][I-ACS023008] 要禁用调试日志记录,请设置以下应用程序参数:-noFIRAnalyticsDebugEnabled
10 月 17 日 09:39:30 XX-Shell[88944]:[Firebase/Analytics][I-ACS023009] 调试日志记录已启用
10 月 17 日 09:39:30 XX-Shell[88944]:[Firebase/Core][I-COR000005] 尚未配置任何应用。
2017-10-17 09:39:30.349 XX-Shell[88944:5891923] GoogleTagManager 信息:加载容器:GTM-XXXXXXX
initializingUserPool2017-10-17 09:39:30.352 XX-Shell[88944:5891910] GoogleTagManager 信息:尝试从网络加载容器 GTM-XXXXXXX
10 月 17 日 09:39:30 XX-Shell[88944]:[Firebase/Analytics][I-ACS025018] 事件未记录。调用+[FIRApp 配置]:gtmTrackEvent_screenView
Update: 26Oct2017
Run Code Online (Sandbox Code Playgroud)
我发现了冲突的库 - GoogleUtilities、GoogleNetworkingUtilities 和 GoogleSymbolUtilities。我在我的 poc 中复制了所有与项目相关的框架,并且能够复制该问题。我开始一次删除一个库,并在这 3 个导致问题的库上圈出(当它们在一起时)。希望谷歌会调查这个问题并尽快更新。我对实际项目的问题是,我有太多的子项目,我将不得不为所有子项目一起解决冲突(谷歌和其他)......这是一项乏味的任务,:)
| 归档时间: |
|
| 查看次数: |
847 次 |
| 最近记录: |