Google Analytics для iOS, Alamofire и Cocopods

Я работал с google analytics отлично в течение прошлого года, и теперь я перехожу на swift. У меня проблема с импортом с помощью pods [ Я провел обширный поиск, и кажется, проблема с [use_frameworks!], который требуется для Alamofire.

Я добавил SDK вручную, то есть libGoogleAnalyticsServices.a, и импортировал некоторые другие файлы в связующий файл с именем header-Bridging-Header.h:

#import <Google/Analytics.h>
#import <libGoogleAnalyticsServices.a>
#import "GAI.h"
#import "GAIDictionaryBuilder.h"
#import "GAIEcommerceFields.h"
#import "GAIEcommerceProduct.h"
#import "GAIEcommerceProductAction.h"
#import "GAIEcommercePromotion.h"
#import "GAIFields.h"
#import "GAILogger.h"
#import "GAITrackedViewController.h"
#import "GAITracker.h"

сейчас в AppDelegate.swift пытаюсь настроить трекер из GoogleService-Info.plist.

    var configureError:NSError?
    GGLContext.sharedInstance().configureWithError(&configureError)
    if configureError != nil {
        println("Error configuring the Google context: \(configureError)")
    }

но он показывает ошибку использования неразрешенного идентификатора GGLContext


person iShaalan    schedule 14.07.2015    source источник
comment
У меня была такая же проблема, но я пока пропустил ее и просто использовал идентификатор отслеживания непосредственно в коде. gai.trackerWithTrackingId("UA-xxxxxxxx-x")   -  person Altrim    schedule 14.07.2015
comment
@Altrim, так что вы могли отслеживать взаимодействие с пользователем в приложении? если да, то используете ли вы модули или статическую библиотеку libGoogleAnalyticsServices.a   -  person iShaalan    schedule 14.07.2015
comment
Я использую статическую библиотеку, а не модули. Вам необходимо импортировать libGoogleAnalyticsServices с другими библиотеками, указанными в документах, в ваши проекты, ориентированные на связанные платформы и библиотеки.   -  person Altrim    schedule 14.07.2015
comment
Также удалите первые две строки, где вы импортируете <Google/Analytics.h> и <libGoogleAnalyticsServices.a>. Они вам там не нужны. И обязательно удалите Google Analytics из подфайла, так как вы добавляете их вручную.   -  person Altrim    schedule 14.07.2015
comment
@iShaalan С Cocopods V0.38.2 можно использовать Cocopods с Google Analytics. stackoverflow.com/questions/30910852/ А поскольку gia является синглтоном, вы можете установить идентификатор трекера вручную в коде или из результата API, как ответил Altrim   -  person Gerrit Post    schedule 18.09.2015
comment
Мне удалось интегрировать Google Analytics и Alamofire в один и тот же подфайл со Swift 2.0 в Xcode 7. Как выглядит ваш подфайл? В связующем заголовке мне просто нужно было добавить Google Analytics: #import GAI.h#import GAIFields.h #import GAIDictionaryBuilder.h   -  person r3c0d3    schedule 16.10.2015


Ответы (2)


Google немного медлил с правильной поддержкой Cocopods, но теперь это было решено. Теперь самое сложное — узнать, какую версию модуля Google Analytics использовать, поскольку существует как минимум три разных версии, две из которых созданы самой Google. Для использования GA с помощью CocoaPods, скорее всего, вам следует использовать тот, который они официально рекомендуют использовать, который указан здесь: https://developers.google.com/analytics/devguides/collection/ios/v3/?ver.=swift

на момент написания этой статьи модуль называется «Google/Analytics» — использование этого GA должно работать без дополнительных усилий и без непосредственного встраивания каких-либо библиотек в ваш код. Кроме того, единственное, что вам нужно в заголовке моста, это следующее:

#import <Google/Analytics.h>

Подробное объяснение того, почему существуют такие разные модули и какой из них использовать, смотрите в этом видео: https://www.youtube.com/watch?v=JQJd7qyWh5k

person Fuad Kamal    schedule 10.11.2015

в свои кокоаподы вам нужно установить:

pod 'Google/Analytics'

Если вы хотите использовать:

var configureError:NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
if configureError != nil {
    println("Error configuring the Google context: \(configureError)")
}

Если вы используете:

pod 'GoogleAnalytics' #(without '/')

GGLContext будет недоступен :)..

person douarbou    schedule 20.11.2015