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
930
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.4k
モバイルアプリ開発へE2Eテストを導入しよう
asmz
0
290
React Native+Expoで始めるWebフロント開発
asmz
0
780
UIデザインを考える全ての人たちに捧げる Apple Human Interface Guidelinesのススメ
asmz
1
2.8k
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
840
SWWDC 39
asmz
1
300
Other Decks in Technology
See All in Technology
世界、断片、モデル。そして理解
ardbeg1958
1
110
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
510
貴方はどのエンジニアリングを磨くのか
hatyibei
0
130
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
510
Making sense of Google’s agentic dev tools
glaforge
1
200
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
2
180
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
1
370
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
120
“それは自分の仕事じゃない"を越えて行け
yuukiyo
0
210
シンガポールで登壇してきます
yama3133
0
120
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.5k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Six Lessons from altMBA
skipperchong
29
4.3k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Facilitating Awesome Meetings
lara
57
7k
How to Talk to Developers About Accessibility
jct
2
340
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Producing Creativity
orderedlist
PRO
348
40k
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