たけぞうBLOG

iOS,XCode,Cameraなど

iOSアプリ開発 Xcode6 開発

SwiftのiOSプロジェクトにGoogle Analytics Services SDKを設定する方法

投稿日:9月 16, 2014 更新日:

現時点(2014/09/16)でGoogle Analytics Services SDKのSwift版はリリースされていませんが、これから説明する手順で動作確認できたので共有します。

必要なもの

Xcode 6.1 beta2
Google Analytics Services SDK v3.09
上記、XcodeのインストールとSDKのダウンロードを事前に済ませておきます。またGoogle Analyticsの設定作業はここでは省略しますが、事前に設定をしておいてください。

手順

  • XcodeでSwiftの新規プロジェクト作成
  • Google Analyticsの関連ファイルをプロジェクトに設置
  • ソースコードの修正
  • 動作確認

XcodeでSwiftの新規プロジェクト作成

新規Xcodeプロジェクトの作成をします。

\"ga001\"
プロジェクト名はgaSampleとしておきます(何でも良いです)。また、LanguageをSwiftにします。

\"ga002\"

 Google Analyticsの関連ファイルをプロジェクトに設置

ダウンロードしたGoogle Analytics Services SDKを解凍してください。
以下のディレクトリに必要なファイルが入っています。

必要なもの

GoogleAnalyticsServicesiOS_3.09>GoogleAnalytics>Library以下の.hファイル全て

ライブラリ

GoogleAnalyticsServicesiOS_3.09>libAdIdAccess.a

GoogleAnalyticsServicesiOS_3.09>libGoogleAnalyticsServices.a

上記ヘッダファイルとライブラリをプロジェクトにドラッグ&ドロップしてください。

次にframeworkを追加します。

\"ga003\"

 

追加するFramework

  • AdSupport.framework

  • SytemConfiguration.framework

  • CoreData.framework

  • libsqlite3.0.dylib

  • libz.sylib

other linker flagの追加

\"ga010\"

TARGETSのBuild Settingsでother linker flagsを検索し、-ObjCという文字列を追加してください

以上で設定は終わりです。

 ソースコードの修正

次にソースコードを修正します。

Bridging-Header.hの追加

SwiftからObjective-Cのコードにアクセスできるように以下の設定をします。

  • ダミーの.h,.mファイルを作成

プロジェクトに何か.h,.mファイルを追加することでBridgeing-Header.hファイルを追加することができます。

そのため、ダミーで良いのでObjective-Cの.h,.mを追加します。

\"ga004\"

 

\"ga005\"

適当なクラス名でLanguageをObjective-CにしてNextをクリックします。

  • Bridging-Header.hの追加

上記ダミーファイルを作成する際、下記のような画面が表示されます。

\"ga006\"

 

Yesを選択してください。

また、ダミーファイルは不要なので削除します。

\"ga007\"

 

AppDelegate.swiftの編集

Google Analyticsが有効になるように下記のコードをAppDelegate.swiftのdidFinishLaunchingWithOptionsメソッド内に追加します。

[plain]
GAI.sharedInstance().trackUncaughtExceptions = true
GAI.sharedInstance().dispatchInterval = 20
GAI.sharedInstance().logger.logLevel=GAILogLevel.Info
// set your Tracking ID
GAI.sharedInstance().trackerWithTrackingId("UA-XXXXXXXX-XX")
[/plain]

UA-XXXXXXXX-XXの部分は各自のTacking IDを設定してください。

### ViewController.swiftの編集
各スクリーンが表示された際、Google Analyticsが検出できるように以下のコードを追加しておきます。
このような処理を追加しなかった場合は、スクリーンが表示されていてもGoogle Analyticsに検知されません。

[plain]
GAI.sharedInstance().defaultTracker.set(kGAIScreenName, value: "Home Screen")
GAI.sharedInstance().defaultTracker.send(GAIDictionaryBuilder.createScreenView().build())
[/plain]

\”Home Screen\”の箇所は適宜変更してください。

 動作確認

アプリがビルドできたらシミュレータか実機でアプリを起動します。

起動が終わり、20秒ほど経つとコンソールログに下記のようなログが出力されます。

\"ga008\"

また、Webブラウザなどで自分のGoogle Analyticsのレポートから「リアルタイム」>「サマリー」で下記のようなログが確認できるはずです。

\"ga009\"

サンプルコード

https://github.com/takezou621/googleAnalyticsSDKForSwiftSample

 

-iOSアプリ開発, Xcode6, 開発
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Xcode4の環境設定

複数ファイルをタブ表示にする 環境設定のGeneral>Double Click NavigationをUses Separate Tabに変更すると、ファイルをダブルクリックしたときにタブで表 …

CocoaPodでGHUnitをインストールする手順

GHUnitをインストールして、XCodeでシンプルなテストケースを実行するまでの手順を整理してみました。このエントリーでは下記までを対象とします。 CocoaPodのインストールとセットアップ GH …

Xcode5 のBotsでCodeSign errorが発生する際の対処法

Mavericks Serverを使ってxcode5のbots環境を構築しました。 が、ビルド時に下記のようなエラーが発生してハマったので対処法をメモ。 No matching provisionin …

[Swift]WatchKitで”error: WatchKit Extension doesn’t contain any WatchKit apps whose bundle identifiers match 〜”と怒られた

WatchKit対応のアプリをストア公開用にビルドする際、以下のように怒られたので対処メモです。

iOS8でCoreLocationを使用する際の注意点

iOS8でiBeaconのサンプルコードを書いていたのですが、何故かプライバシー設定のダイアログが表示されず悩んでいたのですが、原因は以下のキーをInfo.plistに追加していなかったからでした。 …

プロフィール


1972年神奈川県生まれ。ソフトウェアエンジニアとして生きています。最近はクライアントアプリからサーバーサイドまで幅広くやってます。