- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我需要在我的 iOS 应用程序中为 GoogleAnalytics 实现 Firebase+Google 标签管理器。
我通过为 GoogleTagManager 和 Firebase/Core 安装最新版本的 pod,在一个空白的 iOS 项目上尝试了 POC。 POC 工作正常,我能够发送事件并且事件被记录到服务器上的 GA。
但是,当我安装最新版本的 GTM 和 Firebase/Core 时,同样的 GoogleServices-info.plist,同样的 GTM-XXXXXXX.json,我发现我的应用程序崩溃了,我可以看到“GoogleTagManager 信息:加载容器: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)
当我删除 GoogleTagManager 并仅保留 FirebaseAnalytics 时,应用程序运行良好并且 Firebase Analytics 正在接收服务器上的事件。
通过不同论坛和堆栈溢出的不同线程,我尝试将 GTM 和 Firebase 降级为 GoogleTagManager -v5.0.8 和 Firebase/Core -v3.7.1 和 FirebaseAnalytics。请注意,我没有提到 FirebaseAnalytics 的任何首选版本。令我惊讶的是,我的应用程序开始工作并且没有出现任何问题。但是,现在我看到,Firebase 事件正在触发,但 GA 没有收到任何事件。此外,我在控制台中看到事件的参数作为空值传递。
GoogleTagManager info: Processing logged event: gtm.load with parameters: (null)
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)
我不确定我的应用程序出了什么问题。哪个库与 Firebase 或 GoogleTagManager 冲突?相同的设置适用于空白项目。
我的应用程序使用了其他一堆手动添加的框架(不是通过 Cocoapods)——AWS Frameworks、CyptoSwift、DropDown、Timberjack、Alamofire、Charts、Gloss、SwiftValidator、SwiftyJSON、SDWebImage、AWSFacebookSignIn、AWSGoogleSignIn、Blots、FBSDKCoreKit、 FBSDKLoginKit、GoogleAppUtilities、GoogleAuthUtilities、GoogleNetworkUtilities、GoogleSignin、SafariServices。
希望这有助于识别冲突(如果有的话)。
The reason I say conflict is because the latest versions of GoogleTagManager and Firebase works fine in the blank app POC that I did with the same GoogleServices-info.plist and GTM-XXXXXXX.json file. Also, the app works when I downgrade the versions of GTM and Firebase, however in that case the GA stops receiving the events.
控制台日志:
Oct 17 09:39:30 XX-Shell[88944] : [Firebase/Core][I-COR000005] No app has been configured yet.
Oct 17 09:39:30 XX-Shell[88944] : [Firebase/Analytics][I-ACS024000] Debug mode is on
Oct 17 09:39:30 XX-Shell[88944] : [Firebase/Analytics][I-ACS023008] To disable debug logging set the following application argument: -noFIRAnalyticsDebugEnabled
Oct 17 09:39:30 XX-Shell[88944] : [Firebase/Analytics][I-ACS023009] Debug logging enabled
Oct 17 09:39:30 XX-Shell[88944] : [Firebase/Core][I-COR000005] No app has been configured yet.
2017-10-17 09:39:30.349 XX-Shell[88944:5891923] GoogleTagManager info: Loading container: GTM-XXXXXXX
initializingUserPool2017-10-17 09:39:30.352 XX-Shell[88944:5891910] GoogleTagManager info: Attempting to load container GTM-XXXXXXX from network
Oct 17 09:39:30 XX-Shell[88944] : [Firebase/Analytics][I-ACS025018] Event not logged. Call +[FIRApp configure]: gtmTrackEvent_screenView
Update: 26Oct2017
I found the conflicting libraries - GoogleUtilities, GoogleNetworkingUtilities and GoogleSymbolUtilities. I copied all my project releated framework in my poc and i was able to replicate the issue. I started removing one library at a time and i circled on these 3 libraries causing problem (when they are together). Hope google will look into this issue and have an update soon. My problem with actual project is, i have too many sub projects in it and i will have to resolve conflicts (google and other) all together for all the sub projects.. and that is a tedious task, :)
最佳答案
有没有办法隔离可能发生冲突的地方,也许是通过删除库?如果您可以获得崩溃发生时的堆栈跟踪,也会有所帮助。
关于iOS 应用程序在加载 GoogleTagManager 容器时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46751963/
我有一段代码看起来像这样: void update_clock(uint8_t *time_array) { time_t time = *((time_t *) &time_array[0]
应用程序崩溃了 :( 请帮助我.. 在这方面失败了。我找不到错误?该应用程序可以连接到 iTunesConnect 但它会出错。 谁能根据下面的崩溃报告判断问题出在哪里? share_with_app
小二是新来的实习生,作为技术 leader,我给他安排了一个非常简单的练手任务,把前端 markdown 编辑器里上传的图片保存到服务器端,结果他真的就把图片直接保存到了服务器上,这下可把我气坏了,就
我正在创建一个函数,它将目录路径作为参数传递,或者如果它留空,则提示用户输入。 我已经设置了我的 PATH_MAX=100 和 if 语句来检查 if ((strlen(folder path) +
我已将“arial.ttf”文件(从我的/Windows/Fonts 文件夹中获取)加载到内存中,但是将其传递到 FT_New_Memory_Face 时会崩溃(在 FT_Open_Face 中的某处
我正在尝试在我的计算机上的两个控制台之间进行 rtsp 流。 在控制台 1 上,我有: ffmpeg -rtbufsize 100M -re -f dshow -s 320x240 -i video=
我正在尝试使用 scio_beast在一个项目中。我知道它还没有完成,但这并不重要。我已经设法让它工作得很好。 我现在正在尝试连接到 CloudFlare 后面的服务器,我知道我需要 SNI 才能工作
我有一个带有关联宏的下拉列表,如下所示: Sub Drop() If Range("Hidden1!A1") = "1" Then Sheets("Sheet1").Se
我对 bash 很陌生。我要做的就是运行这个nvvp -vm /usr/lib64/jvm/jre-1.8.0/bin/java无需记住最后的路径。我认为 instafix 就是这样做...... n
我在 Windows 上使用 XAMPP 已经两年左右了,它运行完美,没有崩溃没有问题。 (直到四个月前。) 大约四个月前,我们将服务器/系统升级到了更快的规范。 这是旧规范的内容 - Windows
我面临着一个非常烦人的 android 崩溃,它发生在大约 1% 的 PRODUCTION session 中,应用程序始终在后台运行。 Fatal Exception: android.app.Re
尝试使用下面的函数: public void createObjectType() { try { mCloudDB.createObjectType(ObjectTypeIn
由于我正在进行的一个项目,我在 CF11 管理员中弄乱了类路径,我设法使服务器崩溃,以至于我唯一得到的是一个漂亮的蓝屏和 500 错误.我已经检查了日志,我会把我能做的贴在帖子的底部,但我希望有人会启
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 10 个月前关闭。 Improve
我最近从 xcode 3.x 更新到 4.2,当我在 4.2 中运行应用程序时,我遇到了核心数据问题。我还更新到了 iOS 5,所以问题可能就在那里,我不太确定。 这些应用程序在 3.x 中运行良好,
我是一个相对较新的 iPhone 应用程序开发人员,所以我的知识有点粗略,所以如果这是一个微不足道的问题,请原谅我。 我有一个导航应用程序,它通过在navigationController对象上调用p
if ([MFMailComposeViewController canSendMail]) { MFMailComposeViewController *mailViewController
你能帮我吗? 我正在设置 UILocalNotification,当我尝试设置其 userInfo 字典时,它崩溃了。 fetchedObjects 包含 88 个对象。 这是代码: NSDi
为什么我的代码中突然出现 NSFastEnumeration Mutation Handler 崩溃。我很茫然为什么会突然出现这个崩溃以及如何解决它。 最佳答案 崩溃错误: **** 由于未捕获的异常
当我从表中删除行时,我的应用程序崩溃了。这是我检测到错误和堆栈跟踪的来源。谢谢! //delete row from database - (void)tableView:(UITableView *
我是一名优秀的程序员,十分优秀!