ก่อนเริ่มต้น
เพิ่ม Firebase ลงในโปรเจ็กต์ Android หากยังไม่ได้เพิ่ม
ขั้นตอนที่ 1: เพิ่ม SDK ของ Performance Monitoring ลงในแอป
หลังจากเพิ่ม SDK ของ Performance Monitoring แล้ว Firebase จะเริ่มรวบรวมข้อมูลสำหรับการแสดงผลหน้าจอของแอปและข้อมูลที่เกี่ยวข้องกับวงจรของแอป (เช่น เวลาเริ่มต้นของแอป) โดยอัตโนมัติ หากต้องการให้ Firebase ตรวจสอบคำขอเครือข่ายได้ คุณต้องเพิ่มปลั๊กอิน Performance Monitoring Gradle ด้วย (ขั้นตอนถัดไป)
ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ
<project>/<app-module>/build.gradle.ktsหรือ<project>/<app-module>/build.gradle) ให้เพิ่มทรัพยากร Dependency สำหรับไลบรารี Performance Monitoring สำหรับ Android เราขอแนะนำให้ใช้ Firebase Android BoM เพื่อควบคุมการกำหนดเวอร์ชันของไลบรารีdependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.1")) // Add the dependency for the Performance Monitoring library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf") }
การใช้ Firebase Android BoM จะทำให้แอปใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้อยู่เสมอ
(ทางเลือก) เพิ่มทรัพยากร Dependency ของไลบรารี Firebase โดยไม่ใช้ BoM
หากเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันของไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดทรัพยากร Dependency
โปรดทราบว่าหากคุณใช้ไลบรารี Firebase หลายรายการในแอป เราขอแนะนำอย่างยิ่งให้ใช้ BoM เพื่อจัดการเวอร์ชันไลบรารี ซึ่งจะช่วยให้มั่นใจได้ว่าทุกเวอร์ชันจะเข้ากันได้
dependencies { // Add the dependency for the Performance Monitoring library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf:23.0.1") }
คอมไพล์แอปใหม่
ขั้นตอนที่ 2: เพิ่มปลั๊กอิน Performance Monitoring Gradle ลงในแอป
หลังจากเพิ่มปลั๊กอิน Gradle ของ Performance Monitoring แล้ว Firebase จะเริ่มรวบรวมข้อมูลสำหรับคำขอเครือข่าย HTTP/S โดยอัตโนมัติ นอกจากนี้ ปลั๊กอินยังช่วยให้คุณใช้เครื่องมือติดตามโค้ดที่กำหนดเองได้โดยใช้คำอธิบายประกอบ@AddTrace
ในไฟล์ Gradle ระดับรูท (ระดับโปรเจ็กต์) (
<project>/build.gradle.ktsหรือ<project>/build.gradle) ให้เพิ่มปลั๊กอิน Gradle Performance Monitoring ดังนี้Kotlin
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.5.0" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "2.0.2" apply false }
Groovy
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.5.0' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '2.0.2' apply false }
ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ
<project>/<app-module>/build.gradle.ktsหรือ<project>/<app-module>/build.gradle) ให้เพิ่มปลั๊กอิน Gradle ของ Performance Monitoring ดังนี้Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") ... }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' ... }
คอมไพล์แอปใหม่
ขั้นตอนที่ 3: สร้างเหตุการณ์ด้านประสิทธิภาพสำหรับการแสดงข้อมูลเบื้องต้น
Firebase จะเริ่มประมวลผลเหตุการณ์เมื่อคุณเพิ่ม SDK ลงในแอปเรียบร้อยแล้ว หากคุณยังคงพัฒนาแอปในเครื่อง ให้โต้ตอบกับแอปเพื่อสร้างเหตุการณ์สำหรับการเก็บรวบรวมข้อมูลและการประมวลผลข้อมูลเบื้องต้น
สร้างเหตุการณ์โดยสลับแอปไปมาระหว่างเบื้องหลังและเบื้องหน้าหลายๆ ครั้ง โต้ตอบกับแอปโดยไปยังหน้าจอต่างๆ และ/หรือทริกเกอร์คำขอเครือข่าย
ไปที่แดชบอร์ดประสิทธิภาพของคอนโซล Firebase คุณจะเห็นข้อมูลเริ่มต้นแสดงภายในไม่กี่นาที
หากไม่เห็นการแสดงข้อมูลเริ่มต้น โปรดอ่านเคล็ดลับการแก้ปัญหา
ขั้นตอนที่ 4: (ไม่บังคับ) ดูข้อความในบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ
เปิดใช้การบันทึกแก้ไขข้อบกพร่องสำหรับ Performance Monitoring ในเวลาบิลด์โดยเพิ่มองค์ประกอบ
<meta-data>ลงในไฟล์AndroidManifest.xmlของแอป ดังนี้<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>ตรวจสอบข้อความในบันทึกเพื่อดูข้อความแสดงข้อผิดพลาด
Performance Monitoring ติดแท็กข้อความในบันทึกด้วย
FirebasePerformanceเมื่อใช้การกรอง Logcat คุณจะดูการติดตามระยะเวลาการดูและการบันทึกคำขอเครือข่าย HTTP/S โดยเฉพาะได้โดยเรียกใช้คำสั่งต่อไปนี้adb logcat -s FirebasePerformance
ตรวจสอบบันทึกประเภทต่อไปนี้ซึ่งระบุว่า Performance Monitoring กำลังบันทึกเหตุการณ์ด้านประสิทธิภาพ
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URLLogging network request trace: URL
คลิก URL เพื่อดูข้อมูลในคอนโซล Firebase ระบบอาจใช้เวลาสักครู่ในการอัปเดตข้อมูลในแดชบอร์ด
หากแอปไม่ได้บันทึกเหตุการณ์ด้านประสิทธิภาพ โปรดดูเคล็ดลับการแก้ปัญหา
ขั้นตอนที่ 5: (ไม่บังคับ) เพิ่มการตรวจสอบที่กำหนดเองสำหรับโค้ดที่เฉพาะเจาะจง
หากต้องการตรวจสอบข้อมูลประสิทธิภาพที่เชื่อมโยงกับโค้ดที่เฉพาะเจาะจงในแอป คุณสามารถใช้เครื่องมือการติดตามโค้ดที่กำหนดเองได้
การติดตามโค้ดที่กำหนดเองช่วยให้คุณวัดระยะเวลาที่แอปใช้ในการทำงานหนึ่งๆ หรือชุดงานหนึ่งๆ จนเสร็จสมบูรณ์ได้ เช่น การโหลดชุดรูปภาพหรือการค้นหาฐานข้อมูล เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือระยะเวลา แต่คุณยังเพิ่มเมตริกที่กำหนดเองได้ด้วย เช่น การพบแคชและคำเตือนเกี่ยวกับหน่วยความจำ
ในโค้ด คุณจะกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเอง (และเพิ่มเมตริกที่กำหนดเองที่ต้องการ) โดยใช้ API ที่ SDK ของ Performance Monitoring มีให้ สำหรับแอป Android คุณยังตรวจสอบระยะเวลาของเมธอดที่เฉพาะเจาะจงได้โดยใช้คำอธิบายประกอบ@AddTrace
ไปที่เพิ่มการตรวจสอบโค้ดที่เฉพาะเจาะจงเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์เหล่านี้และวิธีเพิ่มลงในแอป
ขั้นตอนที่ 6: ติดตั้งใช้งานแอปแล้วตรวจสอบผลลัพธ์
หลังจากตรวจสอบ Performance Monitoring โดยใช้อุปกรณ์ทดสอบอย่างน้อย 1 เครื่องแล้ว คุณจะทำให้แอปเวอร์ชันที่อัปเดตพร้อมใช้งานสำหรับผู้ใช้ได้
คุณสามารถตรวจสอบข้อมูลประสิทธิภาพได้ในแดชบอร์ดประสิทธิภาพของคอนโซล Firebase
ปัญหาที่ทราบ
ปลั๊กอิน Performance Monitoring Gradle v1.1.0 อาจทำให้ทรัพยากร Dependency ของ Guava ไม่ตรงกัน ซึ่งส่งผลให้เกิดข้อผิดพลาดต่อไปนี้
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
หากเห็นข้อผิดพลาดนี้ คุณสามารถเลือกดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
อัปเกรดปลั๊กอิน Performance Monitoring เป็น v1.1.1 ขึ้นไป (เวอร์ชันล่าสุดคือ v2.0.2)
แทนที่บรรทัดทรัพยากร Dependency ของปลั๊กอิน Performance Monitoring ในไฟล์ Gradle ระดับรูท (ระดับโปรเจ็กต์) (
<project>/build.gradle.ktsหรือ<project>/build.gradle) ดังนี้Kotlin
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath("com.google.firebase:perf-plugin:1.1.0") { exclude(group = "com.google.guava", module = "guava-jdk5") } } }
Groovy
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath('com.google.firebase:perf-plugin:1.1.0') { exclude group: 'com.google.guava', module: 'guava-jdk5' } } }
Performance Monitoring จะรายงานขนาดเพย์โหลดทั้งหมดสำหรับคำขอเครือข่าย HTTP โดยอิงตามค่าที่ตั้งไว้ในส่วนหัวความยาวเนื้อหา HTTP ค่านี้อาจไม่ถูกต้องเสมอไป
Performance Monitoring รองรับเฉพาะกระบวนการหลักในแอป Android แบบหลายกระบวนการเท่านั้น
ขั้นตอนถัดไป
ตรวจสอบและเรียกใช้ตัวอย่างโค้ด Android Performance Monitoring ใน GitHub
ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลที่ Performance Monitoring รวบรวมโดยอัตโนมัติ
- ข้อมูลที่เกี่ยวข้องกับวงจรของแอป เช่น เวลาเริ่มต้นของแอป
- ข้อมูลสำหรับการแสดงผลหน้าจอในแอป
- ข้อมูลสำหรับคำขอเครือข่าย HTTP/S ที่แอปของคุณส่ง
ดู ติดตาม และกรองข้อมูลประสิทธิภาพในคอนโซล Firebase
เพิ่มการตรวจสอบงานหรือเวิร์กโฟลว์ที่เฉพาะเจาะจงในแอปโดยใช้เครื่องมือติดตามโค้ดที่กำหนดเอง