ในระหว่างการพัฒนาและทดสอบแอป คุณอาจพบว่าการปิดใช้งานการตรวจสอบประสิทธิภาพอาจมีประโยชน์
ตัวอย่างเช่น เมื่อ ปิดใช้งานการตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างแอป คุณสามารถ:
ปิดใช้งานฟังก์ชันบางอย่างของ Performance Monitoring (เช่น ฟังก์ชันที่มีให้โดย Performance Monitoring Gradle plugin ) ในดีบักบิวด์ของคุณ แต่เปิดใช้งานฟังก์ชันสำหรับบิลด์รีลีสของคุณอีกครั้ง
ปิดใช้งานการตรวจสอบประสิทธิภาพเมื่อสร้างแอปของคุณ แต่อนุญาตให้แอปเปิดใช้งานอีกครั้งเมื่อรันไทม์
ปิดใช้งานการตรวจสอบประสิทธิภาพเมื่อสร้างแอปของคุณ และไม่อนุญาตให้แอปของคุณเปิดใช้งานอีกครั้งในขณะรันไทม์
คุณยังสร้างแอปโดยเปิดใช้การตรวจสอบประสิทธิภาพ ได้ แต่ ใช้ Firebase Remote Config เพื่อให้คุณมีความยืดหยุ่นในการปิดใช้ (และเปิดใช้อีกครั้ง) การตรวจสอบประสิทธิภาพในแอปที่ใช้งานจริง ด้วยตัวเลือกนี้ คุณยังสามารถกำหนดค่าแอปของคุณเพื่อให้ผู้ใช้เลือกเข้าร่วมหรือไม่ใช้ Performance Monitoring
ปิดใช้งานการตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างแอปของคุณ
คุณสามารถปิดใช้งาน Performance Monitoring ระหว่างกระบวนการบิลด์ของคุณโดย ปิดใช้งานปลั๊กอิน Performance Monitoring Gradle และ/หรือ ปิดใช้งานไลบรารี่ Performance Monitoring Android
ในระหว่างการพัฒนาและการดีบัก การปิดใช้งานปลั๊กอินจะมีประโยชน์ เนื่องจาก เครื่องมือวัดโดยปลั๊กอิน สามารถช่วยให้เวลาในการสร้างเพิ่มขึ้น อย่างไรก็ตาม คุณอาจลองพิจารณาเปิดใช้ไลบรารีเพื่อให้ยังคงดูข้อมูลประสิทธิภาพได้จาก การติดตามการเริ่มต้นแอป แอปในเบื้องหน้า และแอปในเบื้องหลัง รวมถึง การติดตามโค้ดที่กำหนดเอง ในแอปของคุณ
ปิดใช้งานปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพ
คุณสามารถปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพได้โดยเพิ่มแฟล็ก instrumentationEnabled
โดยใช้ตัวเลือกต่อไปนี้:
คุณสมบัติส่วนขยาย — ปิดใช้งานปลั๊กอินสำหรับตัวแปรบิลด์ เฉพาะ ณ เวลาคอมไพล์
คุณสมบัติโครงการ — ปิดใช้งานปลั๊กอินสำหรับรุ่นบิลด์ ทั้งหมด ณ เวลาคอมไพล์
ปิดใช้งานปลั๊กอินผ่านแฟล็กคุณสมบัติส่วนขยาย
เมื่อใช้แฟล็ก คุณสมบัติส่วนขยาย คุณสามารถปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพสำหรับตัวแปรบิลด์ เฉพาะ ในเวลาคอมไพล์
ในไฟล์
build.gradle
ระดับรูท (ระดับโปรเจ็กต์) ตรวจสอบให้แน่ใจว่ามีการระบุการขึ้นต่อกันของ Android Gradle Plugin เป็น v3.4.0 หรือใหม่กว่าสำหรับ Android Gradle Plugin เวอร์ชันก่อนหน้า คุณยังคงสามารถปิดใช้งานปลั๊กอิน Performance Monitoring สำหรับตัวแปรบิวด์เฉพาะได้ แต่เวลาในการสร้างสำหรับตัวแปรนั้นจะไม่ถูกตัดออกทั้งหมด
เพิ่มแฟล็กต่อไปนี้ในไฟล์
build.gradle
ของโมดูล (ระดับแอป) จากนั้นตั้งค่าเป็นfalse
เพื่อปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพandroid { // ... buildTypes { debug { FirebasePerformance { // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic monitoring of HTTP/S network requests // for a specific build variant at compile time. instrumentationEnabled false } } } }
ปิดใช้งานปลั๊กอินผ่านแฟล็กคุณสมบัติโครงการ
เมื่อใช้แฟล็ก คุณสมบัติโครงการ คุณสามารถปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพสำหรับรุ่นบิลด์ ทั้งหมด ในเวลาคอมไพล์
เพิ่มแฟล็กต่อไปนี้ในไฟล์ gradle.properties
ของคุณ จากนั้นตั้งค่าเป็น false
เพื่อปิดใช้งานปลั๊กอิน Performance Monitoring
// ... // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic monitoring of HTTP/S network requests // for all build variants at compile time. firebasePerformanceInstrumentationEnabled=false
ปิดใช้งานไลบรารี Android การตรวจสอบประสิทธิภาพ
หากคุณปิดใช้งานไลบรารีการตรวจสอบประสิทธิภาพในขณะคอมไพล์ คุณสามารถเลือกว่าจะอนุญาตให้แอปของคุณเปิดใช้งานไลบรารีขณะรันไทม์หรือไม่
ปิดใช้งานไลบรารีในขณะคอมไพล์ แต่อนุญาตให้แอปของคุณเปิดใช้งานในขณะรันไทม์
เพิ่มองค์ประกอบ <meta-data>
ต่อไปนี้ลงในไฟล์ AndroidManifest.xml
ของแอป
<application> <meta-data android:name="firebase_performance_collection_enabled" android:value="false" /> </application>
ปิดใช้งานไลบรารีในขณะคอมไพล์ แต่ไม่อนุญาตให้แอปของคุณเปิดใช้งานในขณะรันไทม์
เพิ่มองค์ประกอบ <meta-data>
ต่อไปนี้ลงในไฟล์ AndroidManifest.xml
ของแอป
<application> <meta-data android:name="firebase_performance_collection_deactivated" android:value="true" /> </application>
ปิดใช้งานแอปของคุณขณะรันไทม์โดยใช้ Remote Config
การกำหนดค่าระยะไกลของ Firebase ช่วยให้คุณเปลี่ยนแปลงลักษณะการทำงานและรูปลักษณ์ของแอปได้ ดังนั้นจึงเป็นวิธีที่เหมาะที่จะให้คุณปิดใช้การตรวจสอบประสิทธิภาพในอินสแตนซ์ที่ทำให้แอปใช้งานได้
หากต้องการปิดใช้งานการรวบรวมข้อมูลการตรวจสอบประสิทธิภาพในครั้งต่อไปที่แอป Android ของคุณเริ่มทำงาน ให้ใช้โค้ดตัวอย่างที่แสดงด้านล่าง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Remote Config ในแอป Android โปรดดูที่ Use Firebase Remote Config บน Android
ตรวจสอบให้แน่ใจว่า Remote Config อยู่ในส่วน
dependencies
ของไฟล์โมดูล Gradle ของคุณ (โดยปกติคือapp/build.gradle
):implementation 'com.google.firebase:firebase-config:21.4.0'
ตั้งค่าคอนฟิกระยะไกลและปิดใช้งานการตรวจสอบประสิทธิภาพหากตั้งค่า
perf_disable
เป็นtrue
:Kotlin+KTX
// Setup remote config val config = Firebase.remoteConfig // You can uncomment the following two statements to permit more fetches when // validating your app, but you should comment out or delete these lines before // distributing your app in production. // val configSettings = remoteConfigSettings { // minimumFetchIntervalInSeconds = 3600 // } // config.setConfigSettingsAsync(configSettings) // Load in-app defaults from an XML file that sets perf_disable to false until you update // values in the Firebase Console // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true config.setDefaultsAsync(R.xml.remote_config_defaults) .addOnCompleteListener { task -> if (task.isSuccessful) { Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable") } else { // An error occurred while setting default parameters } }
Java
// Setup remote config final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); // You can uncomment the following two statements to permit more fetches when // validating your app, but you should comment out or delete these lines before // distributing your app in production. // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() // .setMinimumFetchIntervalInSeconds(3600) // .build(); // config.setConfigSettingsAsync(configSettings); // Load in-app defaults from an XML file that sets perf_disable to false until you update // values in the Firebase Console //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true config.setDefaultsAsync(R.xml.remote_config_defaults) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { if (config.getBoolean("perf_disable")) { FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false); } else { FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true); } } else { // An error occurred while setting default parameters } } });
เพิ่มรหัสต่อไปนี้ใน
MainActivity.java
เพื่อดึงและเปิดใช้งานค่าคอนฟิกระยะไกล:Kotlin+KTX
// Remote Config fetches and activates parameter values from the service val config = Firebase.remoteConfig config.fetch(3600) .continueWithTask { task -> if (!task.isSuccessful) { task.exception?.let { throw it } } config.activate() } .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Parameter values successfully activated // ... } else { // Handle errors } }
Java
//Remote Config fetches and activates parameter values from the service final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); config.fetch(3600) .continueWithTask(new Continuation<Void, Task<Boolean>>() { @Override public Task<Boolean> then(@NonNull Task<Void> task) throws Exception { if (!task.isSuccessful()) { throw task.getException(); } return config.activate(); } }) .addOnCompleteListener(new OnCompleteListener<Boolean>() { @Override public void onComplete(@NonNull Task<Boolean> task) { if (task.isSuccessful()) { // Parameter values successfully activated // ... } else { // Handle errors } } });
หากต้องการปิดใช้การตรวจสอบประสิทธิภาพในคอนโซล Firebase ให้สร้างพารามิเตอร์ perf_disable ในโครงการของแอป จากนั้นตั้งค่าเป็น
true
การเปลี่ยนแปลงนี้จะทำการเรียกใช้การเรียกใช้ SDK การตรวจสอบประสิทธิภาพการทำงาน (NOOPs) ซึ่งจะขจัดผลกระทบที่มีนัยสำคัญต่อประสิทธิภาพของแอปจากการใช้ SDK การตรวจสอบประสิทธิภาพในแอปของคุณ
หากคุณตั้งค่า perf_disable เป็น
false
การมอนิเตอร์ประสิทธิภาพจะยังคงเปิดใช้งานอยู่