iOSアプリからGoogle Analyticsにイベントを送ってみよう😎【Swift】

iOSアプリからGAにイベントを送りたいんだけど、いまいちどうしていいかわからないんだよなぁ。一様FirebaseでAnalyticsを有効にはしてるけどデフォルトで取得するイベントが少ないなぁ。という方に

今回はSwiftを使ってGAにイベントを送る方法をご紹介します。

iOSアプリにFirebaseをインストール&Analyticsを有効にしている前提でお話しするので、先に済ませておいてください。

  • iOSアプリにAnalyticsを追加する
  • Debugを有効にする
  • イベントを送信する
  • GAにイベントが送信されているか確認する

この段階はFirebaseにアプリを登録する時に完了している可能性があるので、まだだよという方以外は飛ばしてください。

まず、cocoaPodsでAnalyticsに必要なモジュールをインストールします。

pod 'Firebase/Analytics'
pod 'Firebase/Core'

Xcodeプロジェクト内のAppDelegate.swiftを開き、Firebaseをインポート&インスタンスを構成します。

import Firebase// application:didFinishLaunchingWithOptions内に記載FirebaseApp.configure()

シュミレーターから送信したイベントがみれるようにXcodeに設定します。

Xcodeを開いて

上部タブバーの[Product] > [Scheme] > [Edit scheme] > [Run]

を開きます。

開いたらArguments Passed On Launchに-FIRAnalyticsDebugEnabledを追加します。

これでイベントの送信&Debugの確認ができるようになりました!

基本的にはAnalytics.logEventにイベント名と1対のkeyとValueになったパラーメータを設定することで送信できます。

Analytics.logEvent("イベント名", parameters: [
// パラメーターを設定
"パラメーターkey1": "パラメーターvalue1",
"パラメーターkey2": "パラメーターvalue2",
"パラメーターkey3": "パラメーターvalue3"
])

イベントとパラメータはいくつかデフォルトで用意されています。

↓デフォルトで用意されているものを使用した例

Analytics.logEvent(AnalyticsEventSelectContent, parameters: [
AnalyticsParameterItemID: "id",
AnalyticsParameterItemName: "Eventname",
AnalyticsParameterContentType: "cont"
])

上記のイベントは実際こんな感じになります。

Analytics.logEvent("select_content", parameters: [
"item_id": "id",
"item_name": "Eventname",
"content_type": "cont"
])

既定イベントとパラメーターは↓にまとめているのでぜひ😎

もちろん、自分のオリジナルのイベント名とパラメーターでも送信できます。

↓イベント名とパラメーターをカスタマイズした例

Analytics.logEvent("user", parameters: [
"name": "太郎",
"age": "25"
])

Firebaseの左メニュー [分析] > [DebugView]を開くと30分前までのイベントが表示されます。(イベントがなければ待機中が表示される。)

一度Xcodeでビルドしてシュミレーターからイベントを送信してみてください。

ここに送信されたイベントが表示されると成功です。

こんな感じ↓

よければtwitterに遊びに来てください😎

https://twitter.com/yukimonkey3

アプリ作ったことないのに社長の思いつきで開発することになったエンジニア

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store