Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Native ⇄ Unityアプリのアナリティクス
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
aroshipup
September 11, 2019
Programming
0
1.1k
Native ⇄ Unityアプリのアナリティクス
グリーグループモバイルアプリ勉強会 Vol.1
https://gree.connpass.com/event/142728/
aroshipup
September 11, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Oxlint JS plugins
kazupon
1
1k
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
CSC307 Lecture 09
javiergs
PRO
1
840
2026年 エンジニアリング自己学習法
yumechi
0
140
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
150
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Package Management Learnings from Homebrew
mikemcquaid
0
230
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Claude Code のすすめ
schroneko
67
210k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Designing for Performance
lara
610
70k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
460
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
73
Transcript
Native ⇄ Unityアプリの アナリティクス 2019.9.11 グリーグループモバイルアプリ勉強会 Vol.1 増住 啓吾
自己紹介 • 増住 啓吾 • Wright Flyer Live Entertainment •
EN • 最近 • クライアントサイド • iOS Native • その他 • データ基盤周り • CNCF系
Native ⇄ Unityアプリ
None
Native Unity
Embedded Unity? Unity as a library? Unityアプリのframework化? And so on...
is 何 いずれにせよ、 世にあまり例のない形式(多分)
CASE: チュートリアル
画面遷移図 (一部抜粋)
背景 • 既存のデータ基盤は存在するが、サーバサイドのログベース のもの • チュートリアル突破率向上のため、より詳細な分析をしたい • そのために、クライアントサイドのイベントトラッキングを 本格的に増やしていく
クライアントサイドのイベントトラッキング = 「まあ、普通に考えれば使うよな」
「そのデータ、その形式で取る必要あるの?」
文化が違う アプリのアーキテクチャと同じように、 異なる文化圏のメンバーがMIXされたチーム
アナリティクス => Firebaseは”常識”ではない • グループ内の大勢を占めるゲーム事業ではほぼ使っていない ので、既存のデータ基盤と連携できないのではないか • そもそも、既存の形式のサーバサイドのログを増やしていけ ばいいのではないか •
Bigqueryにexportした時のスキーマが扱いづらそう といったような意見をいただく
「常識だから」ではなく 「なぜ使うか」を考える
• サーバサイドの開発工数削減 => 開発スピードUP! • サーバリソースは全てFirebase側 => サーバのパフォーマンス向上・コスト削減 • Firebase
(GCP) の他プロダクトとの連携 => Bigquery export, A/B Testing, In-App Messaging, ... メリットは?
実装
設計 • Unity側が依存する要素をなるべく減らしたい => Firebase ClientはNative側だけに持つ • UnityからNativeにEvent Paramsを通知し、Native側はそれ を整形してFirebase
Analyticsに送信する
Unity Unity Native Interface Native App (Swift / Kotlin) Native
App側へ 通知 イベント トラッキング 実行 Bridge イベント発生 Bridge部分 呼び出し Event Params JSON
• トラッキングするデータ構造がUnity, Nativeそれぞれに分散 しているので、運用が重要 • 非ENのメンバーや、事業部外のチームとの連携も必要なの で、スプシを地道に運用してます。。 データ構造の管理
TIPS
• イベントトラッキングのログをほぼリアルタイムで確認でき る • イベントのパラメタやユーザープロパティも表示 => 開発者以外が確認する際 (QAなど) のテストケースとして 設定しやすくなり、データの抜け漏れを防ぎやすくなる
Firebase DebugView
Firebase DebugView
BigQuery View • クエリによって生成する仮想テーブル =>データ集計処理不要 • 生成元が分割テーブルの場合、Partition Columnを参照した クエリで生成すればそのまま適用 =>
コストデメリットなし • スキーマが複雑なFirebase Analyticsのレコードの運用がラク に
クエリ行数: 165行 -> 6行
• Firebase AnalyticsはREALITYのような特殊な構造のアプリに おいても有効 • ただし、「普通そうだから」で導入してはいけない、「なぜ 使うか」がより重要になる • Unity⇄Native間のインターフェイスを適切に設計すること で、無駄な依存を作らずにシームレスに計測できる
まとめ