ก่อนเริ่มต้น
หากคุณยังไม่ได้ดำเนินการ เพิ่ม Firebase ลงในโปรเจ็กต์ Android
ขั้นตอนที่ 1: เพิ่ม SDK ของ Performance Monitoring ลงในแอป
หลังจากเพิ่ม Performance Monitoring SDK แล้ว 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:33.2.0")) // 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:21.0.1") }
คอมไพล์แอปอีกครั้ง
ขั้นตอนที่ 2: เพิ่มปลั๊กอิน Gradle ขนาด Performance Monitoring ลงในแอป
หลังจากเพิ่มปลั๊กอิน Gradle Performance Monitoring แล้ว Firebase จะเริ่มต้นโดยอัตโนมัติ กำลังรวบรวมข้อมูลสำหรับ คำขอเครือข่าย HTTP/S ปลั๊กอินยังช่วยให้คุณใช้การติดตามโค้ดที่กำหนดเอง คำอธิบายประกอบ@AddTrace
ในไฟล์ Gradle ระดับราก (ระดับโปรเจ็กต์) (
<project>/build.gradle.kts
หรือ<project>/build.gradle
) ให้เพิ่ม ปลั๊กอิน Performance Monitoring Gradle: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.4.2" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "1.4.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.4.2' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '1.4.2' apply false }
ในไฟล์ Gradle ของโมดูล (ระดับแอป) (ปกติ
<project>/<app-module>/build.gradle.kts
หรือ<project>/<app-module>/build.gradle
) ให้เพิ่ม Performance Monitoring ปลั๊กอิน Gradle: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_URL
Logging network request trace: URL
คลิก URL เพื่อดูข้อมูลในคอนโซล Firebase อาจใช้เวลา 2-3 รอให้ข้อมูลอัปเดตในหน้าแดชบอร์ด
หากแอปไม่บันทึกเหตุการณ์ด้านประสิทธิภาพ โปรดดูการแก้ปัญหา เคล็ดลับ
ขั้นตอนที่ 5: (ไม่บังคับ) เพิ่มการตรวจสอบที่กําหนดเองสําหรับโค้ดที่ต้องการ
วิธีตรวจสอบข้อมูลประสิทธิภาพที่เชื่อมโยงกับโค้ดที่ต้องการในแอป การติดตามโค้ดที่กำหนดเอง
คุณสามารถวัดระยะเวลาที่แอปใช้ในการดำเนินการด้วยการติดตามโค้ดที่กำหนดเอง งานหรือชุดงานที่เฉพาะเจาะจง เช่น การโหลดชุดรูปภาพหรือการค้นหา ฐานข้อมูลของคุณ เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือระยะเวลาของเมตริก แต่ คุณยังสามารถเพิ่มเมตริกที่กำหนดเอง เช่น แคช Hit และคำเตือนหน่วยความจำได้
ในโค้ดของคุณ คุณจะต้องกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเอง (และ เพิ่มเมตริกที่กำหนดเองที่ต้องการ) โดยใช้ API ที่ Performance Monitoring SDK มีให้ สำหรับแอป Android คุณสามารถตรวจสอบระยะเวลาของ วิธีการที่เฉพาะเจาะจงโดยใช้ คำอธิบายประกอบ@AddTrace
ไปที่หัวข้อเพิ่มการตรวจสอบสำหรับโค้ดที่ต้องการ เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์เหล่านี้ รวมถึงวิธีเพิ่มฟีเจอร์ลงในแอป
ขั้นตอนที่ 6: ทำให้แอปใช้งานได้ จากนั้นตรวจสอบผลลัพธ์
หลังจากตรวจสอบ Performance Monitoring โดยใช้อุปกรณ์ทดสอบอย่างน้อย 1 เครื่องแล้ว คุณจะทำสิ่งต่อไปนี้ได้ ทำให้ผู้ใช้ของคุณใช้งานแอปเวอร์ชันที่อัปเดตแล้วได้
คุณตรวจสอบข้อมูลประสิทธิภาพได้ใน แดชบอร์ดประสิทธิภาพ ของคอนโซล Firebase
ปัญหาที่ทราบ
ปลั๊กอิน Gradle ของ Performance Monitoring เวอร์ชัน 1.1.0 อาจทำให้ภาษา Guava ไม่ตรงกัน Dependencies ที่ทำให้เกิดข้อผิดพลาดต่อไปนี้
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
หากเห็นข้อผิดพลาดนี้ คุณอาจทำอย่างใดอย่างหนึ่งต่อไปนี้
อัปเกรดปลั๊กอิน Performance Monitoring เป็น v1.1.1 หรือใหม่กว่า (เวอร์ชันล่าสุดคือ v1.4.2)
แทนที่บรรทัดการอ้างอิงปลั๊กอิน 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
เพิ่มการตรวจสอบสำหรับงานหรือเวิร์กโฟลว์ที่เฉพาะเจาะจงในแอปโดยทำดังนี้ การใช้เครื่องมือการติดตามโค้ดที่กำหนดเอง