无法从我的 Objective-C 代码向 Google Analytics/Firebase 发送自定义事件
Posted
技术标签:
【中文标题】无法从我的 Objective-C 代码向 Google Analytics/Firebase 发送自定义事件【英文标题】:Can't send custom events to Google Analytics/Firebase from my Objective-C code 【发布时间】:2017-07-04 13:07:05 【问题描述】:我是 ios 下 Google Analytics(现在的 Firebase?)的一种新的编程活动。 现在我正在编写一些 Objective C 应用程序,我需要跟踪所述应用程序中的一些自定义事件(典型的按钮按下等......)
我已经在我的 XCode 8.2.1 下成功安装了所有需要的 pod、.plist 文件等,没问题。
我的疑惑现在来了:
我添加了一些随机建议,我发现阅读了很多页面,并将它们应用到我的代码中所需的位置,但显然我无法创建/发送自定义事件。
我目前的设置是这样的:
-在我的 App Delegate 中,我添加了以下代码行:
// Google Analytics
// Configure tracker from GoogleService-Info.plist.
//
NSError *configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSAssert(!configureError, @"Error configuring Google services: %@", configureError);
// Optional: configure GAI options.
GAI *gai = [GAI sharedInstance];
gai.trackUncaughtExceptions = YES; // report uncaught exceptions
gai.logger.logLevel = kGAILogLevelVerbose; // remove before app release
// THIS lines are just a test... They don't make a difference if I comment them.
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:[GAIFields customDimensionForIndex:1] value:@"TEST_DIMENSION_VALUE" ];
-在我的 ViewController 中,我添加了这些其他行:
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_status"
action:@"init_scan_process"
label:@"hello"
value:@1] build]];
好的,当我按下触发该事件的按钮时,运行时会发生什么?显然什么都没有。 如果我在 Firebase/Analytics 面板中,则不会出现任何自定义事件。我得到通用的非显式发送的(“进入某个屏幕”,等等......)。
我已将调试详细模式添加到 XCode 中(用于在 Firebase/Analytics 面板 -> StreamView -> DebugView 中进行实时调试。 通过这种方式,我可以获得各种实时事件(以 1 分钟的时间片)......但不是我的自定义事件。
显然,XCode 将我的 json 数据从我的自定义事件发送并转发到 Google...但是我不知道在 Firebase/Analytics 面板上的哪里可以找到它们。
我没有线索,我可能忘记了任何明显的暗示吗? 我愿意接受过去处理过类似情况的高级用户提出的问题。
问候和感谢。
【问题讨论】:
你在appDidLaunch
中打电话给[FIRApp configure]
吗?
看起来您正在登录 Google Analytics 而不是 FireBase 分析。 Firebase 分析代码看起来不同。 firebase.google.com/docs/analytics/ios/events
我一直在关注(并希望使用)Google Analytics 教程,而不是 Firebase。我用过这个:developers.google.com/analytics/devguides/collection/ios/v3/… 在我最初的问题中每次提到“Firebase”都在那里,因为后来,当我进入我的关联 Google Analytics 帐户面板时,它只是在左上角显示“Firebase”屏幕。在我的教程中,没有出现任何 [FIRApp configure] 行,所以我没有使用它。
【参考方案1】:
像往常一样自答题。
我终于找到了为什么我的自定义事件没有出现在我寻找它们的地方。 我在一些 Firebase 控制台/面板中寻找它们。为什么?不知道,按照谷歌教程(不记得是哪一个),我以一些花哨的 Firebase 面板结束(与我的谷歌帐户正确关联)。
令人误解的是,在那个 Firebase 面板中,有一个名为“分析”的部分显示了有关您的 iOS 应用的一些数据,但实际上并不是 Google Analytics 会显示的内容...
不管怎样,阅读更多internets 我终于发现我应该先访问analytics.google.com。 一旦我进入那里,我终于找到了我正在寻找的事件部分,在那里我可以看到我在我的 APP 中编写的自定义点击。 甚至还有一个实时事件部分,我可以在其中查看按最后 5 分钟交互分组的事件。
成功!!
谢谢和问候。
【讨论】:
以上是关于无法从我的 Objective-C 代码向 Google Analytics/Firebase 发送自定义事件的主要内容,如果未能解决你的问题,请参考以下文章
无法从 Swift 代码访问 Objective-C 单例的数组
无法通过 Swift 扩展向objective-c NSManagedObject 子类添加方法