Visual Studio Mobile Centerのアナリティクス機能をiOSアプリで試してみた
アナリティクス機能を試してみる
こんにちは!モバイルアプリサービス部の加藤潤です。
前回、VSMCのクラッシュレポート機能を試してみました。
今回はアナリティクスの機能を試してみたいと思います。
VSMCは記事執筆時点でPreview版です。そのため、正式版リリース時には機能が異なる可能性がありますのでご注意ください。なお、Preview版の間は無料で利用できます。
Mobile Center SDKを組み込む
アナリティクスの機能を使うにはクラッシュレポートの時と同様、アプリにMobile Center SDK for iOSを組み込む必要があります。
今回もCocoaPodsを使って導入します。
Podfileにpod 'MobileCenter'
もしくは pod 'MobileCenter/MobileCenterAnalytics'
を記述します。
前者はAnalyticsはもちろんの事、Crashesも含むMobileCenterの全てのサービスを使う場合の記述です。
後者はAnalyticsサービスのみ使う場合の記述です。
今回は後者の書き方で試しました。
あとはpod install
を実行すればSDKがダウンロードされます。
SDKのセットアップ
pod install 完了後、.xcworkspaceを開きます。
AppDelegate.swiftに以下のimport文を追加します。
import MobileCenter import MobileCenterAnalytics
application(_:didFinishLaunchingWithOptions:)
メソッド内に以下を記述します。
MSMobileCenter.start("{Your App Secret}", withServices: [MSAnalytics.self])
{Your App Secret}
の部分はご自身の環境に合わせて設定してください。
AppシークレットはGetting Startedのトップページもしくは「Manage app」から確認できます。
前回の記事でもAppシークレットを使っているのでご覧ください。
セッション、デバイス情報は自動で収集される
MSMobileCenter.start("{Your App Secret}", withServices: [MSAnalytics.self])
を実行するだけでセッションやデバイス情報(OSのバージョンやデバイスのモデル名など)は自動で収集されます。
カスタムイベントについて
カスタムイベントを使えば、アプリで何が起こったか、ユーザーがどういった操作を行ったかをトラッキングすることができます。
カスタムイベントには以下のような特徴、制限があります。
- 最大5つのプロパティを持つ
- 異なるイベントを最大200件まで送ることができる
- イベント名は最大256文字
- イベントプロパティ名とイベントプロパティの値は最大64文字
カスタムイベントを収集してみる
今回はサンプルアプリとして、以下のような2つの画面があり、各画面にボタンを配置したアプリを作ってみました。 このアプリを使って以下のカスタムイベントを収集してみたいと思います。
- 画面遷移
- ボタンタップ
カスタムイベントを収集するコードは以下のような実装にしました。
trackEvent()
メソッドを呼ぶだけです。
viewDidAppear
のタイミングで画面遷移、ボタンタップのアクションメソッド内でボタンタップのイベントを収集しています。
プロパティとして、「どの画面で発生したイベントなのか」がわかるようにScreen
属性としてA
という画面名を付与しています。
カスタムイベントのサンプルコード(画面A)
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) MSAnalytics.trackEvent("View Did Appear", withProperties: ["Screen" : "A"]) } @IBAction func didTapScreenAButton(_ sender: Any) { MSAnalytics.trackEvent("Button Tapped", withProperties: ["Screen" : "A"]) }
画面Bも上記と同様(Screen
属性がB
になっただけ)にカスタムイベントを収集するコードを実装しました。
実行結果
何回か画面遷移やボタンタップを行ってみました。 アナリティクスの結果はVSMCの管理画面左側にある「Analytics」の部分から確認することができます。
Audience
Audienceのページでは、アクティブユーザー数、セッション間隔、国、言語、デバイスの種類、OSのバージョンなどが確認できました。
これらはMSMobileCenter.start("{Your App Secret}", withServices: [MSAnalytics.self])
を実行することにより自動で収集された情報です。
Events
Eventsのページでは、カスタムイベントの一覧とカウントなどが表示されていました。
今回定義した2つのカスタムイベントもちゃんと取れていました。
こちらは「View Did Appear」イベントをタップして詳細を表示した画面です。
ユーザー数やイベントのカウントが見れます。
また、Screen
属性の値もちゃんと取れています。
こちらは「Button Tapped」イベントの詳細です。こちらもちゃんと取れていました。
Log flow
Log flowは発生したイベントをリアルタイムに確認できる画面のようです。 ボタンをタップして数秒後には表示されていました。
おわりに
今回はアナリティクスの機能を試してみました。 一通り欲しい情報が取れることが確認できました。
画面からは収集した情報をエクスポートするような機能は見つけられなかったのですが、
APIも提供されているのデータの分析・活用もできそうです。