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
How to get mobile app logs using Firebase Crash...
Search
asmz
May 23, 2019
Technology
950
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to get mobile app logs using Firebase Crashlytics
もっとユーザのことを知りたい!モバイルアプリでのエラーログ取得
Talked at タガヤス #11
asmz
May 23, 2019
More Decks by asmz
See All by asmz
Firebase App Testing Agentで始めるAIベースの柔軟なE2Eテスト
asmz
0
1.5k
モバイルアプリ開発へE2Eテストを導入しよう
asmz
0
320
React Native+Expoで始めるWebフロント開発
asmz
0
820
UIデザインを考える全ての人たちに捧げる Apple Human Interface Guidelinesのススメ
asmz
1
2.9k
Overview of Swift and iOS App development
asmz
0
1.4k
OK Google, Deploy the iOS app
asmz
1
1k
Cooperate with Adobe XD, Zeplin and Xcode
asmz
1
3.2k
phpconsen LT
asmz
0
860
SWWDC 39
asmz
1
300
Other Decks in Technology
See All in Technology
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
27
22k
絵ではじめるKubernetesセキュリティ
aoi1
3
570
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
370
What the customer really needed
kawaguti
PRO
2
170
Claude Code本って、 読む必要あるの?
oikon48
2
460
AI時代、データエンジニアが一番おもろい
genshun9
0
600
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
110
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
150
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
5
2.6k
品質と信頼性を地続きにする
grimoh
0
390
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
650
Statistics for Hackers
jakevdp
799
230k
Claude Code のすすめ
schroneko
67
230k
Skip the Path - Find Your Career Trail
mkilby
1
230
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
320
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
もっとユーザのことを知りたい! モバイルアプリでのエラーログ取得 2019/05/23 タガヤス #11 Akira Shimizu / asmz 1
2 誰なのか? • Akira Shimizu / asmz (@_asmz) • https://asmz.beer/
• 株式会社ビデオマーケット 仙台オフィス • iOSエンジニア • 個人開発:IT勉強会検索アプリ「EVENTech」 ◦ https://eventech.asmz.beer/
3 エラーログはどこで取る?
4 Webサービスの場合、ログの多くはサーバサイドで 取得 • ログが取りやすい • 蓄積が可能 • 一元管理・検索がしや すい
• ログの引き上げ手 段が必要 • 不特定多数 • 蓄積量に制限
5 ただし、クライアントサイドに問題がある場合、ログが 取れない • 通信処理自体の問題 • 意図せぬクラッシュ
6 アプリでもエラーログを 取りたい!
7 自前で実装しようと思うと... • 最終的にはデータをサーバへ送信する必要がある ◦ 通信が発生する →大容量、高頻度のデータ送信は難しい ◦ 通信状況は常に変化する →送信失敗時のリトライ検討
→送信できなかった場合のバッファリング検討 考慮すべき点が多く、案外簡単じゃない
8 Firebase Crashlyticsを 用いたエラーログ取得
9 Firebaseとは • Google社が提供してい る、主にモバイル向けの バックエンドサービス群 (BaaS)
10 Firebase Crashlyticsとは • モバイルアプリのクラッシュレポートツール SDK導入すると、アプリクラッシュを検知して 自動でレポートを上げてくれる
11 Firebase Crashlyticsとは • 導入が容易 ◦ 基本的には各プラットフォームのライブラリ導入手順に沿う だけ(iOS: CocoaPods /
Android: Gradle) ◦ ログのバッファリングやリトライ処理などの実装が不要 ◦ 自動集計され、コンソール画面でレポート管理 でも、ログが上がるのはクラッシュした時だけ...?
12 クラッシュ以外のエラーログ取得 • 任意のタイミングでログ送信が可能 // エラーオブジェクト作成 let error = NSError(
domain: "CustomErrorDomain", code: 999, userInfo: ["message": "エラーです"] ) // Crashlyticsへログ送信 Crashlytics.sharedInstance().recordError(error)
13 クラッシュ以外のエラーログ取得 クラッシュ:Fatal(重大) クラッシュ以外:Non-Fatal(非重大) としてログが上がるようになる
14 もっと詳しくユーザの 行動を知りたい!
15 カスタムログメッセージの追加 • エラーに対する補足 情報を付加すること が可能 SDK App Custom Logs
Crash Logs (Auto/Manual)
16 カスタムログメッセージの追加 Analyticsイベント カスタムログ どういう操作・行動を 経てエラーに至った のかを確認すること が可能!
17 カスタムログメッセージの追加 • ソース内任意の箇所でログ記録 • POINT ◦ ログ記録しただけではCrashlyticsには上がらない ▪ Fatal
/ Non-Fatalエラー発生時に一緒に上がる ◦ カスタムログサイズ上限は64KB CLSLogv("%@", getVaList([string]))
18 カスタムログメッセージの追加 • 主な使いどころ ◦ アプリ内画面遷移ログ記録 ◦ App内課金など重要な処理の経緯ログ記録 ◦ カメラやセンサーなど各種デバイスの操作ログ記録
サーバサイドと重複しない観点で
19 まとめ
20 まとめ • クライアントサイドのログが欲しい場面がある • アプリでのログ機構の実装は案外コストが高い • Firebase Crashlyticsを利用すると便利 ログ収集や導入のコストを下げ、
その分、そのログを「どう活かすか」に注力
21 PR
22 公式動画配信サービス MIRAIL(ミレール) • 映像作品コンテンツホルダーが直接動画販売・配信すること ができるプラットフォーム https://mirail.video/
23 Google I/O 報告会 in 仙台 • Google社開催の世界的技術カンファレンス「Google I/O」参加者による報告会 ◦
2019/05/25(土) 10:00 〜 16:00 ◦ 仙都会館(宮城県仙台市青葉区中央2-2-10)
24 Enjoy Logging! 2019/05/23 タガヤス #11 Akira Shimizu /
asmz