Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Native ⇄ Unityアプリのアナリティクス
Search
aroshipup
September 11, 2019
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Native ⇄ Unityアプリのアナリティクス
グリーグループモバイルアプリ勉強会 Vol.1
https://gree.connpass.com/event/142728/
aroshipup
September 11, 2019
Other Decks in Programming
See All in Programming
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
930
ChromeでローカルLLM
ryu1013
0
140
Jetpack Compose Mechanisms
skydoves
3
820
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
490
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
150
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Designing for Timeless Needs
cassininazir
1
530
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
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間のインターフェイスを適切に設計すること で、無駄な依存を作らずにシームレスに計測できる
まとめ