استفاده از Google Analytics در برنامه های iOS

روشی که خود گوگل پیشنها میده استفاده از CocoaPods هستش.  اگه تاحالا نصبش نکردید، روالش خیلی سادست، توی ترمینال مینویسم:

sudo gem install cocoapods

بعد با ترمینال میرم به پوشه ای که فایل های پروژم اونجاست:

Screen Shot 2015-12-01 at 10.18.51 AM

و اونجا این دستور رو اجرا میکنم:

pod init

حالا توی اون پوشه یک فایل جدید ساخته شه به اسم Podfile. اون فایل رو باز میکنم و این رو به انتهاش اضافه میکنم:

pod 'Google/Analytics'

در نهایت اینطوری میشه:

Screen Shot 2015-12-01 at 10.25.32 AM

تغییرات رو ذخیره میکنم و برمیگردم به ترمینال. آخرین مرحله از نصب اینه:

pod install

بعد از چند دقیقه همه فایل های مورد نیاز دانلود میشن و یک فایل با پسوند xcworkspace به پوشه اضافه میشه. از حالا، برای باز کردن پروژه باید از این فایل استفاده کرد.

Screen Shot 2015-12-01 at 10.19.11 PM

حالا باید فایل GoogleService-Info.plist رو دانلود کنم. برای این کار باید مراحلی رو که خود گوگل میگه دنبال کنید. بعد از دانلود کردن فایل اون رو به پروژتم اضافه میکنم (با drag-drop مثلا). تنظیمات مربوط به برنامتون تو این فایل هست، توی کدها دیگه نیازی نیست کاری کنید.

فرضم بر اینه که شما هم دارید مثل من از Swift استفاده میکنید، پس باید یک فایل دیگه هم به پروژه اضافه کنیم، BridgingHeader.

Screen Shot 2015-12-01 at 10.25.50 PM

توش فقط باید هدر آنالیتیکس رو اضافه کنیم:

#import <Google/Analytics.h>

حالا باید متد didFinishLaunchingWithOptions رو از فایل AppDelegate.swift یکم تغییر بدیم. این رو باید توش اضافه کنیم:

// Configure tracker from GoogleService-Info.plist.
var configureError:NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
assert(configureError == nil, "Error configuring Google services: \(configureError)")

تنها کاری که مونده، اینه که توی هر view که لازم داریم یه چند خط دیگه اضافه کنیم تا اطلاعاتی رو که میخوایم تو گذارش آنالیتیکس ببینیم.

باید متد viewWillAppear رو باز نویسی کنیم:

 

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(true)
let name = “MainView”
let tracker = GAI.sharedInstance().defaultTracker
tracker.set(kGAIScreenName, value: name)
let builder = GAIDictionaryBuilder.createScreenView()
tracker.send(builder.build() as [NSObject : AnyObject])
// [END screen_view_hit_swift]
}

 

تو هر view فقط کافیه name رو عوض کنیم؛ کارمون تموم شد.

گزارشش هم چیزی شبیه این میشه:

 Screen Shot 2015-12-01 at 10.41.52 PM

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.