将谷歌分析集成到 iOS 应用程序中

Posted

技术标签:

【中文标题】将谷歌分析集成到 iOS 应用程序中【英文标题】:Integrating google analytics into iOS app 【发布时间】:2016-03-28 20:34:08 【问题描述】:

我正在按照此处的说明将谷歌分析集成到我的应用中:https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift#get-config

我需要为我的应用初始化分析。我在我的 AppDelegate.swift 文件中添加了这段代码:

import UIKit
import <Google/Analytics.h>

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDelegate 

    var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions:[NSObject: AnyObject]?) -> Bool 
        **// 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**

    

我收到以下错误消息。

    对于我的import &lt;Google/Analytics.h&gt; 行,我收到以下消息:'一行上的连续语句必须用';'分隔。

    对于其余的代码,我遇到了几个错误,尽管我只是将教程中的代码复制到我的文件中。看我的截图。

enter image description here

【问题讨论】:

你不能把objective-c代码放到你的swift文件中 【参考方案1】:

您在 Swift 项目中遇到此问题。您需要创建一个 Objective-C 桥接头,并在其中添加 import 语句。之后,一切都应该正常工作。查看此 SO 答案以了解更多详细信息:

https://***.com/a/24005242/1784384

【讨论】:

感谢您的回复。我创建了 Objective-C 文件作为 Header 并将 import 添加到 m 文件中。现在我在 Objective-CBridgingHeader.m 文件上收到一条错误消息,上面写着:'Expected identify or '('。此外,我仍然在我的 AppDelegate.swift 文件中看到与我粘贴的代码相同的错误在之前。 桥接头文件应该是.h文件;确保你把它放在那里。另外:您的代码在 AppDelegate 中失败,因为您在其中粘贴了 Objective-C 代码。在您在 Google 网站上的链接中,有一个框可让您将其更改为 Swift 示例代码。这样做,你应该是金子! 好的,所以我将这行代码“导入 ”移动到我的 .h 文件中。我还更新了 AppDelegate 文件中的代码。最初我在教程中选择了 Swift 单选按钮,但我猜它切换了,或者我在没有注意到的情况下重新打开了一个新页面。无论如何,情况正在好转。我没有看到错误消息。 我的意思是我将导入代码添加到我的 Bridging-Header.h 文件中。我是否必须按照您发送给我的 *** 响应 (***.com/a/24005242/1784384) 中的指示创建第二个 .h 文件? 我很难想象你在问什么。但是您应该能够删除您创建的 .m 和 .h 文件,并保留桥接头。添加 Obj-C 代码时会自动创建桥接头,但在使用 Cocoapods 时不会检测到它。这就是为什么你必须经历这个奇怪的过程。

以上是关于将谷歌分析集成到 iOS 应用程序中的主要内容,如果未能解决你的问题,请参考以下文章

将谷歌联系人集成到 ios 应用程序(swift)中?

如何将谷歌登录集成到我的网站并收集用户详细信息?

将谷歌分析数据 api 连接到 dojo 图表 - php 后端

将谷歌分析跟踪代码限制为一个js

dart - 将谷歌日历插入到 Flutter 移动应用程序中

将谷歌广告添加到 windows phone 8.1 应用程序