Crashlytics - ตรวจสอบ error ที่เกิดบน mobile application

การพัฒนา mobile app. เราสามารถตรวจสอบปัญหาโดยดูจาก stack trace ที่เกิดขึ้นบน console ซึ่งก็สามารถตรวจสอบและแก้ไขได้เป็นธรรมชาติของ developer แต่เมื่อ app. ของเราถูกส่งถึงมือผู้ใช้งานแล้ว ทีมพัฒนาจะติดตามปัญหาได้ค่อนข้างยาก

หลายๆ คนคงรู้จัก Twitter  แน่ๆ Twitter ก็เป็นอีกค่ายที่ทำ API ต่างๆ ให้นำไปใช้งานได้ แต่ขณะที่ค่ายอื่นทำเพื่อเอื้อประโยชน์ให้กับตัวเอง แต่ดูเหมือนว่า Twitter จะทำออกมาให้ผู้นำไปใช้ได้ประโยชน์ซะมากกว่า

อ้าว!! ของ Twitter หรอกหรอ ?

คำตอบคือ ใช่ครับ Crashlytics เป็นของ Twitter และอยู่ภายใต้ Fabric อีกทีนึง ซึ่งภายใน Fabric นี้ก็ยังมี tools อื่นๆ ให้เลือกใช้อีก


เอาล่ะ เข้าสู่เนื้อหากัน

ใครแอบไป search ก่อนก็อาจจะได้เจอกับหน้าเว็บของ Crashlytics ไปแล้ว แต่ไม่ว่าจะพยายาม register หรือ login ก็จะถูก redirect ไปที่หน้าเว็บ Fabric อยู่ดี จัดการสมัครสมาชิกกันไป

เมื่อเข้าสู่ระบบได้แล้ว ครั้งแรกระบบน่าจะให้สร้าง organization โดย 1 organization ประกอบได้หลาย apps ครับ ผมลองเล่น Android app. กับ iOS app. ให้อยู่บน organization เดียวกันก็ทำได้ครับ
สำหรับการเชื่อมต่อกับ app นั้น Fabric จะให้เราติดตั้งโปรแกรมช่วยลง Fabric SDK เพิ่มเติมบนคอมพิวเตอร์ที่เราใช้ โดยจะให้เลือก Tools ที่ใช้ในการพัฒนา โดย Fabric จะมีขั้นตอนอย่างละเอียดจนผมไม่รู้จะเขียนอะไรกันเลยทีเดียว ซึ่งผมได้ทดลอง 2 ตัวคือ

Android Studio
ต้องลง Fabric plugin
Xcode
ต้อง download Mac app

หลังจากนั้นเปิด Fabric app ขึ้นมาก็จะได้พบขั้นตอนที่จะต้องทำต่อ ซึ่งเข้าใจได้ไม่ยาก ก็เลยขออนุญาตไม่ cap ภาพประกอบนะครับ tag_faces
  1. Login โดยใช้ Account จากด้านบน
  2. เลือก app ที่ต้องการเชื่อมต่อ (fabric จะหา project มาให้เราเลือกเอง ไม่ต้อง browse)
  3. เลือก Crashlytics และ Install

วิธีการของ Fabric คือมันจะเข้าไปแทรก code ในที่ต่างๆ สามารถกดดูได้ก่อน apply
*ตรงนี้ของ iOS จะแตกต่างนิดหน่อย คือเราจะต้อง copy ไปวางเองครับ
รอ build และ run


ถ้าอยากทดสอบ crash ลองคลิกๆ หาดูใน fabric app ก็มีครับ ไม่ยาก stack trace ที่เกิดขึ้นจะถูกส่งไปที่ fabric ทันทีครับ (ดูได้ที่ https://www.fabric.io/dashboard)


เราสามารถส่ง ข้อมูลเพิ่มเติมมาได้นิดหน่อย เพื่อระบุรายละเอียดเพิ่มเติม (code อยู่ใน fabric app เช่นกัน)

ในเว็บมีลูกเล่นให้เราเลือก CLOSED ได้ด้วย กรณีที่เกิด crash และแก้ไขเรียบร้อยแล้ว(เลือกเอง)

ลองใช้กันดูนะครับ

Facebook Comment

Popular post of 7 days

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)