Watson's Blog

RubyMotion ではじめるGoogle Analytics for iOS

| Comments

アプリがどれだけダウンロードされているか開発者なら誰もが気になるところでしょうが、どの機能がどれだけ使われているかといったことも気になるところがと思います。

Google Analytics for iOS を利用すると、ユーザが使用している機能を簡単にトラッキングすることができます。

トラッキング ID を発行する

Google Analytics の「アカウントの管理」画面で新しいアカウントを追加します。

アカウントの管理

次にアカウント名などの情報を記入します。

アカウントの追加

「ウェブサイトのURL」では “ウェブサイト以外"、「タイムゾーン」は "日本” を選択しておくとよいでしょう。

アカウントを作成した後、"UA-xxxxxxxx-1" のようなトラッキング ID が発行されます。あとで使用するので控えておいてください。

Google Analytics SDK for iOS をダウンロード

Google Analytics SDK for iOS から、SDK をダウンロードしておきます。

SDK のダウンロード

RubyMotion プロジェクトを作成

それでは、アプリに Google Analytics を組み込んでいきましょう。今回は「HelloAnalytics」という名前でアプリを作成します。

1
$ motion create HelloAnalytics

先ほどダウンロードした SDK のアーカイブを展開し、"Library" ディレクトリをプロジェクトに追加します。まずプロジェクトに “vendor” ディレクトリを作成しましょう。

1
2
$ cd HelloAnalytics/
$ mkdir vendor

作成したディレクトリに SDK の “Library” を追加します。以下のようなファイル構成になります。

1
2
3
4
5
6
$ tree vendor/
vendor/
└── Library
    ├── GANTracker.h
    ├── libGoogleAnalytics.a
    └── libGoogleAnalytics_NoThumb.a

プロジェクトの設定

プロジェクトの Rakefile をエディタで開き SDK を使うための設定をします。

1
2
3
4
5
6
7
8
9
10
11
12
# -*- coding: utf-8 -*-
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project'

Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = 'HelloAnalytics'
  app.vendor_project('vendor/Library',
    :static, :products => ['libGoogleAnalytics.a'], :headers_dir => '.')
  app.frameworks << "CFNetwork"
  app.libs << "/usr/lib/libsqlite3.dylib"
end

vendor_project を設定し Google Analytics SDK を利用できるようにします。SDK は CFNetwork.framework と libsqlite3.dylib を使用するようなので、frameworkslibs でそれぞれ設定します。

これでアプリで Google Analytics SDK を使えるようになります!

トラッキングを開始

それでは、以下のようなコードをアプリに追加してトラッキングを開始してみましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class AppDelegate
  def application(application, didFinishLaunchingWithOptions:launchOptions)
    GANTracker.sharedTracker.startTrackerWithAccountID("UA-xxxxxxxx-1",
                                                       dispatchPeriod: 10,
                                                       delegate: nil)


    error = Pointer.new(:object)
    unless GANTracker.sharedTracker.trackPageview("/app_entry_point",
                                                  withError: error)
      # Handle error here
    end

    true
  end
end

startTrackerWithAccountID メソッドには、先ほど発行されたトラッキング ID を記述します。

アプリを実行すると、計測結果が Google Analytics で確認できるようになります。

計測結果

https://developers.google.com/analytics/devguides/collection/ios/devguide に SDK の使い方について詳しく書かれていますので、必要なトラッキング処理をアプリに追加しいろいろ計測してみてください!

Comments