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
How to get mobile app logs using Firebase Crash...
Search
asmz
May 23, 2019
Technology
0
820
How to get mobile app logs using Firebase Crashlytics
もっとユーザのことを知りたい!モバイルアプリでのエラーログ取得
Talked at タガヤス #11
asmz
May 23, 2019
Tweet
Share
More Decks by asmz
See All by asmz
React Native+Expoで始めるWebフロント開発
asmz
0
220
UIデザインを考える全ての人たちに捧げる Apple Human Interface Guidelinesのススメ
asmz
1
2.2k
Overview of Swift and iOS App development
asmz
0
1.2k
OK Google, Deploy the iOS app
asmz
1
840
Cooperate with Adobe XD, Zeplin and Xcode
asmz
1
3k
phpconsen LT
asmz
0
700
SWWDC 39
asmz
1
210
Create voice assistant app by Dialogflow
asmz
0
820
SWWDC 34
asmz
0
700
Other Decks in Technology
See All in Technology
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
350
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.3k
チームビルディング「脅威モデリング」ワークショップ
koheiyoshikawa
0
190
システムとの会話から生まれる先手のDevOps
kakehashi
PRO
0
140
TopAppBar Composableをカスタムする
hunachi
0
170
Langchain4j y Ollama - Integrando LLMs con programas Java @ Commit Conf 2025
deors
1
130
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
4
640
食べログが挑む!飲食店ネット予約システムで自動テスト無双して手動テストゼロを実現する戦略
hagevvashi
1
120
CBになったのでEKSのこともっと知ってもらいたい!
daitak
1
130
20250413_湘南kaggler会_音声認識で使うのってメルス・・・なんだっけ?
sugupoko
1
300
YOLOv10~v12
tenten0727
1
290
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM, Prompt Engineering and Building Tutors
ks91
PRO
1
190
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Making Projects Easy
brettharned
116
6.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
We Have a Design System, Now What?
morganepeng
52
7.5k
Producing Creativity
orderedlist
PRO
344
40k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
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