Подтвердить что ты не робот

Использование Google Analytics с Swift в iOS

Я пытаюсь использовать GA с проектом Swift.

Я правильно установил SDK, но я не могу отправить экранные измерения вручную, потому что некоторые объекты не найдены.

Здесь приведен код Google:

// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];

// This screen name value will remain set on the tracker and sent with
// hits until it is set to a new value or to nil.
[tracker set:kGAIScreenName
   value:@"Home Screen"];

// New SDK versions
[tracker send:[[GAIDictionaryBuilder createScreenView] build]];

Здесь мой код:

let tracker = GAI.sharedInstance()
tracker.setValue(kGai, forKey: "/index")
tracker.send(GAIDictionaryBuilder.createScreenView().build)

И вот ошибки, которые я получаю:

Use of unresolved identifier 'kGAIScreenName'
Use of unresolved identifier 'GAIDictionaryBuilder'

Я импортировал GAI.h в свой BridingHeader и добавил фреймворки в файл сборки, никаких ошибок на этой стороне.

Спасибо!

4b9b3361

Ответ 1

ОК, поэтому я просто добавил GAI.h в свой заголовок моста, но не добавил другие файлы заголовков. И спасибо DPLusV Я также неправильно перевел Obj-C на Swift.

Вот мой последний код, который работает:

let tracker = GAI.sharedInstance().defaultTracker
tracker.set(kGAIScreenName, value: "/index")
tracker.send(GAIDictionaryBuilder.createScreenView().build())

[EDIT] SWIFT 3

let tracker = GAI.sharedInstance().defaultTracker
tracker?.set(kGAIScreenName, value: "/index")
let build = (GAIDictionaryBuilder.createScreenView().build() as NSDictionary) as! [AnyHashable: Any]
tracker?.send(build)

Ответ 2

Я выполнил инструкции в

https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift

вверх до установки блока

У меня уже был файл GoogleService-Info.plist, который я включил в Google Analytics

Затем я сделал некоторые хитовые и пробные методы, чтобы заставить его работать

И, наконец, я нашел кое-что, что сработало для меня

let googleAnalytics : GAITracker = GAI.sharedInstance().trackerWithTrackingId("UA-XXXXXXXX-X")
GAI.sharedInstance().trackUncaughtExceptions = true
googleAnalytics.set(kGAIScreenName, value: screenName)
let builder = GAIDictionaryBuilder.createScreenView()
googleAnalytics.send(builder.build() as [NSObject : AnyObject])

Я поместил эту часть кода в контроллер просмотра, где когда-либо это было необходимо.

Надеюсь, что это поможет кому-то. Благодаря