たけぞう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 beta2Google 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

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

関連記事

SSL証明書を$9で購入し、Apacheサーバに設定してみました

背景 個人でブログを始める場合、httpsを設定するのはSSL証明書の購入が効果だったりしてなかなか躊躇していまいますが、namecheapという格安でSSL証明書を購入できるサービスがあるとのことで …

nginx用のLet’sEncrypt証明書をwebrootで自動更新する方法

Let’s Encryptの証明書を自動更新する cronの設定 /etc/cron.monthly/letsencryptを編集する #!/bin/sh /opt/letsencrypt …

Xcode5とXcode4のPreferenceの違い

XCode4からXCode5にアップデートされるにあたり、Preferenceでの設定項目がどのように変更されているのか調べました。

[iOS開発]Push通知をカスタム警告音に変更する手順

やること 既存のiOSプロジェクトの通知用にカスタム警告音を作成し、実際に動作するところまでの手順を説明します。 iOSアプリのPush通知音の作成 既存プロジェクトに通知音ファイル設置 コードの修正

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

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

プロフィール


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